标签:err 用例 汇总 框架 生成 webdriver self 隐藏 zed
一、时间等待
1、sleep
进程休眠,傻傻的等,会浪费时间
2、implicityly_wait(30)
等待页面全部加载完成
---页面加载完成的标志是左上角转圈结束
---如果页面元素加载完成了,某些js加载失败,页面左上角一直转圈,会耗费时间
---全局的,只写一次就行了
-缺点:页面有跳转的时候,它不知道去等跳转后的页面
3、WebDriverWait(self,driver,timeout,poii_frequency=POLL_FREQUENCY,ignored_exceptions=None)
---driver:打开浏览器的一个实例参数
---timeout:超时的总时长30s
---poii_frequency:循环去查询的间隙时间,默认0.5秒
---ignored_exceptions:忽略异常,默认忽略NoSuchElementException
二、chrome浏览器调试css及xpath,在console中调试
1、css
$("css定位方法")
2、xpath
$x("xpath定位方法")
三、元素的显示和隐藏
元素在页面上的状态:
1、不在dom里,也就是不存在这个元素
2、在dom里,隐藏元素,页面上不显示is_dispaly---False
3、在dom里,显示元素,页面上能看到is_dispaly ----True
注意:隐藏元素可以成功定位,但无法操作(如输入值、点击等)
四、分层思想
1、在base中封装常用函数
2、在page文件夹页面模块中调用base中的方法,封装页面操作步骤
3、在tests文件夹用例中调用page步骤方法,并编写断言
4、在run_all中运行所有用例
五、当div中出现滚动条时,先定位div位置,再通过scrollTop和scrollLeft方法控制进度
1、控制纵向滚动条
js=‘document.getElementsByClassName("scroll")[0].scrollTop=10000;‘
2、控制横向滚动条
js=‘document.getElementsByClassName("scroll")[0].scrollLeft=10000;‘
3、同时控制横向滚动条和纵向滚动条
js=‘document.getElementsByClassName("scroll")[0].scrollTo(0,0);‘
六、js定位及插入文本
1、frame中富文本
js=‘document.getElementsByClassName("scroll")[0].contentWindow.document.body.innerHTML="hello world";‘
2、普通输入框插入文本
js=‘document.getElementsByClassName("scroll")[0].value="hello";‘
3、时间控件不让输入怎么解决
js=‘document.getElementByClassId("xxx").removeAttribute("readonly");‘ #先移除禁止输入的属性
js=‘document.getElementByClassId("xxx").value="2018-02-12";‘ #更改时间值
七、问题汇总
1、错误:AttributeError: module ‘http‘ has no attribute ‘client‘
解决方法:一般这种报错是由于文件命名与系统关键字重复导致,修改文件名称即可
2、错误:HTMLTestRunner_cn.py框架无法截图
解决办法:用setUpClass,或 1、不要tearDown 2、Teardown内容写到setup
3、使用ddt框架生成html报告的时候出现dict() -> new empty dictionary dict(mapping)
-> new dictionary initialized from a mapping object‘s (key, value) pairs dict(iterable) ->
解决办法:由于ddt版本过高导致,卸载ddt,安装较低版本
pip uninstall ddt
pip install ddt==1.1.2
4、当页面使用jquery进行定位时,报错:$ id not defined
原因:当前页面不支持jQuery
标签:err 用例 汇总 框架 生成 webdriver self 隐藏 zed
原文地址:https://www.cnblogs.com/yudx/p/11543795.html