关于Selenium的几个面试题

Selenium Webdriver元素定位的八种常用方式:

1. By.name();   2.By.id()   3. By.tagName()    4. By.className()    5. By.linkText()   6. By.partialLinkText()   7. By.xpath()    8. By.cssSelector()

1.selenium中如何判断元素是否存在?

- isElementPresent

2.seleniumhidden或者是display none的元素是否可以定位到?

- 不能

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

- 添加元素智能等待时间 driver.implicitly_wait(30)

- try 方式进行 id,name,clas,x path, css selector 不同方式进行定位,如果第一种失败可以自动尝试第二种

4.如何提高selenium脚本的执行速度?

- 代码优化

 

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

- time.sleep( )

- driver.implicitly_wait(30)

- 多用 try 捕捉,处理异常

6.你的自动化用例的执行策略是什么?

[可以参考此文档](http://wenku.baidu.com/link?url=Mz-6I_YXHtW_VhI6R_2Hr2qK89vmyCY8YXvWUQA2q78UJwti-YmsAY5pfLr0f04XhCBieHvc60hSPG4xj2js_JbVxJljko9c44tefP2kxLi)

7.什么是持续集成?

- 可以参考 93、持续集成以及Jenkins的知识介绍

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

- UI自动化不需要

- 接口测试会需要

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

- css xpath 几乎所有的元素都可以定位到

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

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

11.如何去定位属性动态变化的元素?

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

12.点击链接以后,selenium是否会自动等待该页面加载完毕?- 会的

13.webdriver client的原理是什么?

- [Webdriver实现原理](http://www.cnblogs.com/timsheng/archive/2012/06/12/2546957.html)

14.启动浏览器的时候用到的是哪个webdriver协议?

-http

15.怎样去选择一个下拉框中的valuexxoption

-二次定位

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

-重置元素属性,给定位的元素加背景、边框

17.什么是断言?

-断言的英文是assertion,断言检查的英文是assertion checking

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

18.如果你进行自动化测试方案的选型,你会选择哪种语言,javajspython还是ruby-使用自己熟悉的语言

19.page object设置模式中,是否需要在page里定位的方法中加上断言?

-不需要

20.page object设计模式中,如何实现页面的跳转?

-getclick (可能有坑)

21.自动化测试用例从哪里来?

-手工用例中抽取-可以参考自动化用例的执行策略

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

-不稳定-可靠性-不易维护-成本与收益


相关标签:

分享者:wfl
分享于:2017-02-13
博 客:wfl博客
专 题: 无
位 置:测试攻城狮_自动化_Webdriver
分享者的其他文章

评论: