实践问题总结(一)
2017-11-24 14:14
204 查看
滴~ 今日打卡!
这两天一直在忙别的事情,都没有时间更新博客了。今天把事情处理完,马上来梳理一下这段时间自动化测试实战下来的问题及解决办法。实战用的系统是公司的项目,所以不便截图,只能大概描述一下问题,请见谅。
1. 系统登录的时候有一个bug,登录账号与密码都正确,但会弹出“登录失败”提示窗,点击确认后,系统自动跳转到主界面(实际是登录成功的)。而且!这个提示窗不是每次都会出现!
转化场景:自动化脚本如何解决不确定是否会弹出的弹窗
方法:判断弹窗是否出现再进行操作,避免弹窗没弹出抛出异常,代码如下:
from selenium.webdriver.support import expected_conditions as EC
result = EC.alert_is_present()(driver)
if result:
print result.text
result.accept()
else:
print "alert 未弹出!"
2. 定位到一个元素,使用.click()方法操作该元素,无效。
在网上查到的很多都说是因为定位不到元素。后来用F12看了一下源代码。发现onclick属性是写在这个元素里,而是写在了它的父元素里。
方法:定位到父元素,用.click()方法操作父元素实现页面跳转
3. 做参数化脚本的时候,关于元素定位的参数化。使用find_element_by_XX(“属性值”)的方式,把属性值放在excel文档里做参数化。但问题来了,如果源码改了某个元素的属性,或者直接去除了用来定位的属性,那脚本和数据文件都要修改啊,怎么搞?
方法:使用 Find_element(‘属性名’,‘属性值’)/Find_elements(‘属性名’,‘属性值’)方法定位元素。
用这两种方法定位元素,需导入by模块(from selenium.webdriver.common.by import By),然后在csv文件或字典中保存元素的属性名和属性值,维护脚本时只需修改csv文件或字典内容就好了。
这两天一直在忙别的事情,都没有时间更新博客了。今天把事情处理完,马上来梳理一下这段时间自动化测试实战下来的问题及解决办法。实战用的系统是公司的项目,所以不便截图,只能大概描述一下问题,请见谅。
1. 系统登录的时候有一个bug,登录账号与密码都正确,但会弹出“登录失败”提示窗,点击确认后,系统自动跳转到主界面(实际是登录成功的)。而且!这个提示窗不是每次都会出现!
转化场景:自动化脚本如何解决不确定是否会弹出的弹窗
方法:判断弹窗是否出现再进行操作,避免弹窗没弹出抛出异常,代码如下:
from selenium.webdriver.support import expected_conditions as EC
result = EC.alert_is_present()(driver)
if result:
print result.text
result.accept()
else:
print "alert 未弹出!"
2. 定位到一个元素,使用.click()方法操作该元素,无效。
在网上查到的很多都说是因为定位不到元素。后来用F12看了一下源代码。发现onclick属性是写在这个元素里,而是写在了它的父元素里。
方法:定位到父元素,用.click()方法操作父元素实现页面跳转
3. 做参数化脚本的时候,关于元素定位的参数化。使用find_element_by_XX(“属性值”)的方式,把属性值放在excel文档里做参数化。但问题来了,如果源码改了某个元素的属性,或者直接去除了用来定位的属性,那脚本和数据文件都要修改啊,怎么搞?
方法:使用 Find_element(‘属性名’,‘属性值’)/Find_elements(‘属性名’,‘属性值’)方法定位元素。
用这两种方法定位元素,需导入by模块(from selenium.webdriver.common.by import By),然后在csv文件或字典中保存元素的属性名和属性值,维护脚本时只需修改csv文件或字典内容就好了。
相关文章推荐
- 定位多线程内存越界问题实践总结
- 定位多线程内存越界问题实践总结
- eclipse(4.5.0)+jdk1.8+Tomcat1.8+maven+spring+springmvc+myBatis的配置实践中遇到的问题总结
- 跨域问题实践总结!下( [HTML5] postMessage+服务器端(反向代理服务器+CORS Cross-Origin Resource Sharing))
- FreeTextBox 3.1.6 的实践总结和几个问题
- 定位多线程内存越界问题实践总结
- Atitit.angular.js 使用最佳实践 原理与常见问题解决与列表显示案例 attilax总结
- 定位多线程内存越界问题实践总结
- 关于malloc(0)的返回值问题--这两天的总结与实践篇
- Atitit.angular.js 使用最佳实践 原理与常见问题解决与列表显示案例 attilax总结
- [工作问题总结]IE6 下iframe 空白 实践解决
- 关于malloc(0)的返回值问题--这两天的总结与实践篇
- 走下神坛的内存调试器--定位多线程内存越界问题实践总结
- FreeTextBox 3.1.6 的实践总结和几个问题
- 定位多线程内存越界问题实践总结
- Maven实践遇到问题总结
- 跨域问题实践总结! 上(JSONP/document.domain/window.name)
- 在C#中使用ASV封装编程实践中遇到的问题总结
- angularJS实践过程中出现的问题总结
- django 实践后的问题总结