https://www.cnblogs.com/ITester520/p/13477226.html
1、自动化代码中,用到了哪些设计模式?
- 单例设计模式
- 工厂模式
- PO设计模式
- 数据驱动模式
- 面向接口编程设计模式
2、什么是断言(Assert)?
- 断言Assert用于在代码中验证实际结果是不是符合预期结果,
- 如果测试用例执行失败会抛出异常并提供断言日志
3、什么是web自动化测试
- Web自动化测试是从UI (用户界面)层面进行的自动化测试
- 测试人员通过编程自动化程序(测试用例脚本)来打开浏览器测试网站的业务逻辑
4、什么是selenium
Selenium是一个开源的web自动化测试框架,支持多种编程语言开发自动化测试脚本,支持跨浏览器平台进行测试
5、出Selenium中你最熟悉的接口或类
WebDriver、InternetExplorerDriver、 FirefoxDriver、 ChromeDriver、 WebElement、WebDriverWait、 By
6、元素定位类型有哪些?
元素定位的方法一共有8种方式:
- id定位: find_element_by_id()
- name定位: find_element_by_name()
- class定位:find_element_by_class_name()
- tag定位:find_element_by_tag_name()
- link定位:find_element_by_link_text()
- partial_link定位:find_element_by_partial_link_text()
- xpath定位:find_element_by_xpath()
- CSS定位:find_element_by_css_selector()
By类一共有8种元素定位方式,它们都是静态方法:
- By.id():
- By.name():
- By.tagName():
- By.className():
- By.cssSelector():
- By linkText():
- By partialLinkText():
- By.xpath():
7、Xpath是什么?
- 它是查找web页面元素的一种方式,相当于元素在dom中间的一个路径,可以采用绝对路径和相对路径的方式进行定位
- 它对于定义动态的页面元素有很大的帮助,同时也需要谨慎使用,因为如果页面结构发生变化,那么定位信息也可能需要变化。
8、findElement()和findElements(方法有什么区别
两个都是查找页面元素的方法:
- findElement():查找一个页面元素,只会返回一个WebElement对象
- findElements() :查找页面上所有符合匹配的元素,返回元素集合
9、登录按钮除了用click方法进行点击以外还有其他方式吗?
还可以使用submit()方法,前提是input元素的type为submit
10、怎么提高Selenium脚本的执行速度
- 优化等待时间:使用 WebDriverWait 智能等待来代替线程等待 sleep 和 隐式等待 implicityWait
- 减少不必要的操作:如直接进入某页面代替经过一系列自动化操作进入某页面在服务器允许的情况下,使用多线程实现并发执行测试用例
11、怎么对含有验证码的功能进行自动化测试
- 图像识别,技术难度大,效果不佳,不推荐
- 屏蔽验证码,邀请开发处理,但在预生产环境或者生产环境不推荐
- 万能验证码,使用一个复杂的其他人无法猜到的验证码
12、怎么验证复选按钮是不是被选中
可以使用元素的 isSelected() 方法,如果返回的是 true 则说明被选中,否则表明未被选中
|