持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第26天,点击查看活动详情
Selenium中hidden或者是display=none的的元素师傅可以定位到?
不能,可以写JavaScript将标签中的hidden先改为0,再定位元素
Selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?
1.添加元素只能等待时间(30)
2.添加强制等待时间(比如python中写sleep)
3.try方式进行id,name,clas,xpath,css,selector不同的方式进行定位,如果第一种失败可以自动尝试第二种
如何提高selenium脚本的执行速度?
代码优化,多任务,分布式部署都是可以提升脚本执行速度的。
用例在运行过程中经常会出现不稳定的情况,也就是说这次可以通过,下次就没办法通过了,如何去提升用例的稳定性?
1.time.sleep()
2.driver.implicitly_wait(30)
3.多用try捕捉,处理异常
你的自动化用例的执行策略是什么?
自动化测试与软件开发本质上是一样的,利用自动化测试工具,经过测试需求分析,设计出自动化测试用例,从而搭建自动化测试的框架,设计与编写自动化脚本,验证测试脚本的正确性,最终完成自动化测试测试脚本(即主要功能为测试的应用软件)并输出测试结
自动化测试的时候是不是需要连接数据库做数据校验?
从数据库层面来进行数据校验可以更方便验证系统的数据处理方面是否正确,数据处理逻辑正常后,UI层面上的校验也是需要做的。
id,name,class,xpath, css selector,这些属性,你最偏爱哪一种,为什么?
css 、xpath 几乎所有的元素都可以定位到,但是它们的短处在于页面上更改了元素后位置很容易改变,所以首先使用的还是id或者name等。
如何去定位页面上动态加载的元素?
触发动态加载元素的事件,直至动态元素出现,进行定位
如何去定位属性动态变化的元素?
xpath或者css通过同级、父级、子级进行定位
点击链接以后,Selenium是否会自动等待该页面加载完毕?
会的
什么是page object设计模式?
简单来说,就是把页面作为对象,在使用中传递页面对象,来使用页面对象中相应的成员或者方法,能更好的体现面向对象语言(比如java或者python)的面向对象和封装特性。
如何在定位元素后高亮元素(以调试为目的)?
用JavaScript等脚本来重置元素属性,给定位的元素加背景、边框
什么是断言
断言的英文是assertion,断言检查的英文是assertion checking。
断言是指定一个程序必须已经存在的状态的一个逻辑表达式,或者一组程序变量在程序执行期间的某个点上必须满足的条件。
你觉得自动化测试最大的缺陷是什么?
1.不稳定
2.可靠性
3.不易维护
4.成本与收益
Webdriver可以用来做接口测试
接口测试有现成的模块来处理,WebDriver是用于做WebUI自动化测试的。如果要实现接口测试,可以使用Requests模块来实现