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