Web 自动化测试

446 阅读4分钟

1、Selenium 中 hidden 或者是 display = none 的元素是否可以定位到?

答:不能,可以写 JavaScript. 将标签中的 hidden 先改为 0,再定位元素

2、Selenium 中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?

答:

  1. 添加元素智能等待时间 driver.implicitly_wait(30);
  2. 添加强制等待时间(比如 python 中写 sleep);
  3. try 方式进行 id,name,clas,x path, css selector 不同方式进行定位,如果第一种失败可以自动尝试第二种;
  4. 如何提高 Selenium 脚本的执行速度。代码优化,多任务,分布式部署都是可以提升脚本执行速度的。

3、用例在运行过程中经常会出现不稳定的情况,也就是说这次可以通过,下次就没办法通过了,如何去提升用例的稳定性?

答:

  1. time.sleep( );
  2. driver.implicitly_wait(30);
  3. 多用 try 捕捉,处理异常。

4、你的自动化用例的执行策略是什么?

答:自动化测试软件开发本质上是一样的,利用自动化测试工具,经过测试需求分析,设计出自动化测试用例,从而搭建自动化测试的框架,设计与编写自动化脚本,验证测试脚本的正确性,最终完成自动化测试测试脚本(即主要功能为测试的应用软件)并输出测试结果。

5、自动化测试的时候是不是需要连接数据库做数据校验?

答:从数据库层面来进行数据校验可以更方便验证系统的数据处理方面是否正确,数据处理逻辑正常后,UI 层面上的校验也是需要做的。

6、id,name,class,xpath, css selector 这些属性,你最偏爱哪一种,为什么?

答:css 、xpath 几乎所有的元素都可以定位到,但是它们的短处在于页面上更改了元素后位置很容易改变,所以首先使用的还是 id 或者 name 等。

7、如何去定位页面上动态加载的元素?

答:触发动态加载元素的事件,直至动态元素出现,进行定位

8、如何去定位属性动态变化的元素?

答:xpath 或者 css 通过同级、父级、子级进行定位

9、点击链接以后,Selenium 是否会自动等待该页面加载完毕?

答:会的

10、什么是 page object 设计模式?

答:简单来说,就是把页面作为对象,在使用中传递页面对象,来使用页面对象中相应的成员或者方法,能更好的体现面向对象语言(比如 java 或者 python)的面向对象和封装特性。

11、如何在定位元素后高亮元素(以调试为目的)?

答:用 JavaScript. 等脚本来重置元素属性,给定位的元素加背景、边框

12、什么是断言?

答:断言的英文是 assertion,断言检查的英文是 assertion checking。

断言是指定一个程序必须已经存在的状态的一个逻辑表达式,或者一组程序变量在程序执行期间的某个点上必须满足的条件。

13、你觉得自动化测试最大的缺陷是什么?

答:

  1. 不稳定;
  2. 可靠性;
  3. 不易维护。
  4. 成本与收益

14、Webdriver 可以用来做接口测试吗?

答:接口测试有现成的模块来处理,WebDriver 是用于做 WebUI 自动化测试的。如果要实现接口测试,可以使用 Requests 模块来实现

最后:  可以通过在 点击蓝色字体后面 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

更多好文推荐:

那个准点下班的人,比我先升职了...

包装成1年工作经验的测试工程师,我给他的面试前的建议如下

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号...

“入职一年,那个被高薪挖来的自动化软件测试被劝退了。”

4个月自学软件测试面进阿里!如何从功能测试转成自动化...我经历了什么