selenium面试问题答案总结 (4)

// 创建类DesiredCapabilities的对象
DesiredCapabilities cap=DesiredCapabilities.chrome();
// 设置ACCEPT_SSL_CERTS 变量值为true
cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
// 新建一个带capability的chromedriver对象
WebDriver driver=new ChromeDriver(cap);

31.findElement 和 FindElements有什么区别?

 首先,两个都是查找元素,都支持八大元素定位方法。findElement()得到的只有一个元素,如果根据提供的元素定位方式找不到,会报noSuchElement异常。

 findElements()返回的是一组元素,所以我们需要根据能够找到一组元素的表达式去定位,返回一组元素我们可以放在集合里,这样我们就可以使用集合里面的迭代方法去遍历元素,拿到元素去做其他操作。

 32.在执行脚本过程,如何实现当前元素高亮显示?

 这个其实就是利用javaScript去修改当前元素的背景颜色来到达高亮显示的效果,

33.如何获取页面标题,悬浮文本和错误文本,并验证?

 标题,我们可以通过driver.getTitle()方法来得到一个字符串,然后使用字符串的containts方法或者equals方法去进行断言。

 悬浮文本(tooltip),一般是利用Actions类,然后鼠标悬停方法,然后通过getText()方法来得到这个tooltip字符串。

 错误信息,直接把这个错误字段先进行定位,然后通过getText()方法拿到错误文本,主要的断言有包含,相等,不相等,不包含,以什么开头等。

 34.在selenium自动化测试中,你一般完成什么类型的测试?

     主要是冒烟测试和回归测试。回归测试主要写一些功能稳定,容易实现的场景,通过自动化手段去实现,节约测试时间。

 35.你是如何管理你的测试用例并执行?

     写用例和管理并执行用例,我们都需要借助单元测试框架来实现,如果是Java语言一般有junit和TestNG,如果是python,常见的有unittest。

     就你实际情况,说一下。例如我使用TestNG比较多,需要配置testng.xml文件来实现测试用例的执行。有时候需要配置多个testng.xml去实现不同的任务场景。再展开,可能问你一下testng框架的知识点。例如,方法依赖,用例执行优先级,数据源驱动等。

 36.关于自动化测试报告生成?

 我个人一般用TestNG原生的测试报告,也有第三方叫reportNG的插件,不过我没有实际使用过。

Python下报告生成一般使用HTMLTestRunner.py

 37. 了解或者使用过框架不?

 类似的问题还有,你知道那些自动化测试框。

我们知道POM自动化测试框,还有关键字驱动框架。当然还有数据驱动框架,最近几年出的行为驱动框架。

 38. 这个框架是你自己写的吗?

 我自己设计过POM的框架和关键字驱动框架。

 39.能不能介绍下你的框架

    把你自己POM的框架从上往下,树形结构画图出来,然后讲下有哪些层,哪些包,包下几个重点的类的作用和一些工具类说一下。用例如何执行,页面对象和元素定位放哪里,错误日志和截图如何处理,报告如何得到等。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgdgfw.html