Selenium测试最流行框架
1、根据项目流程阶段划分软件测试:(单元测试)、(集成测试)、(系统测试)、(验收测试)
(单元测试)对程序中的单个子程序或具有独立功能的代码段进行测试的过程。
(集成测试)是在单元测试的基础上,先通过单元模块组装成系统或子系统,再进行测试。重点是检查模块之间的接口是否正确。
(系统测试)是针对整个产品系统进行的测试,验证系统是否满足需求规格的定义,以及软件系统的正确性和性能等是否满足其需求规格的要求。
(验收测试)是部署软件之前的最后一个测试阶段。验收测试的目的是确保软件准备就绪,向软件购买者展示该软件系统能够满足用户的需求。
2、(白盒测试)与(黑盒测试),主要是根据软件测试工作中对软件代码的可见程度进行的划分。
3、性能测试是通过自动化的测试工具模拟多种(正常)、(峰值)以及(异常负载条件)来对系统的各项性能指标进行测试。软件的性能包括很多方面,主要有(时间性能)和(空间性能)两种。
5、TestNG数据提供者使用( @DataProvider )注解来实现,返回类型是( Object[][] )。
6、Selenium使用(@FindBy )注解获取页面元素
7、Selenium通过( isSelected() )方法验证一个复选按钮是不是被选中或者未被选中
8、Selenium元素定位类型包含如下8种,它们都位于By类中并且都是静态方法。它们分别是:By.id(),By.name(), By.className(),By.linkText(),By.partialLinkText(),( )、( )( )
By.id(), By.name(), By.tagName(), By.className(), By.linkText(), By.partialLinkText(), By.xpath, By.cssSelector().
9、Selenium组件有Selenium-RC、( Selenium WebDriver )、( Selenium IDE )、(Selenium Grid )。
10、Log4j优先级从高到低分别是:( )、ERROR、WARN、INFO、DEBUG, TRACE
由低到高
TRACE,DEBUG,INFO,WARN,ERROR,FATAL ALL OFF
12、findElements(arg0)返回的类型是( List WebElement)。findElement()返回的类型是(WebElement)
14、需要使用( JavaScript)语句调用HTML5对象提供的内部变量和函数来实现各类操作。
15、自动化框架常见的模式:( 数据驱动框架 )、( 关键字驱动框架 )、( 行为驱动框架 )、混合型测试框架
16、TestNG基于J2SE5.0的( 注解 )特性的而构建的轻量级的单元测试框架结构。
17、模拟键盘鼠标事件需要哪个类?( Actions )( Keys )
18、如何去定位属性动态变化的元素?( xpath的contains函数 )
19、TestNG允许指定依赖关系的两种实现方式:(在@Test注释中使用属性dependsOnMethods),(在@Test注释中使用属性dependsOnGroups)
20、TestNG可以通过两种不同的方式将参数直接传递给测试方法:(使用testng.xml)、(使用数据提供者)
21、在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位。这时就需要通过(switchTo().frame())方法将当前定位的主体切换为frame/iframe表单的内嵌页面中。
如果完成了在当前表单上的操作,则可以通过(switchTo().defaultContent())方法跳出表单。
21、在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作。WebDriver提供了switchTo().window()方法可以实现在不同的窗口之间切换
22、ITestResult是TestNG提供的一个接口,结合@AfterMethod,可以监听@Test方法的执行状态等信息
23、TestNG中,如果要在测试方法执行成功、失败或者跳过时指定不同后续行为,可以利用ITestListener 监听器。也可以直接继承TestListenerAdapter类来实现。
24、TestNG的用例组织结构:Test Suite由一个或者多个Test组成,Test由一个或多个测试class组成,一个测试class由一个或多个测试方法组成
25、在testng.xml中(parallel)属性,可以并行地执行测试方法
26、继承LoadableComponent类可以在页面加载的时候判断是否加载了正确的页面,只需要重写load() 和isLoaded()两个方法。此方式有助于让页面对象的页面访问操作更加健壮。
27、在分布式测试模式中,只能有一台作为Hub计算机,Hub负责管理测试脚本,并负责发送脚本给其他的Node,Node节点会打开本地的浏览器完成测试任务并返回结果给Hub
28、python中在线安装Selenium的命令(pip install selenium),查看Selenium是否安装(pip show selenium),离线安装,单击 .tar.gz结尾的文件,并且对文件进行解压,进入到解压目录中,通过python命令进行安装。进入到目录名中(python setup.py install)
.whl 文件本质上面是一个 .zip 包格式进入到目录名中(pip install selenium.whl)
29、Java十Selenium上传本地文件;只要定位上传按钮,通sendKeys()添加本地文件路径就可以了。
30、unittest.main()使用TestLoader类搜索所有包含在该模块以test命名开头的测试方法,并自动执行它们,执行方法的默认顺序是:根据ASCII码的顺序加载测试用例
31、HTMLTestRunner是Python的标准库unittest单元测试框架的一个扩展,用于生成HTML测试报告。
32、在python中,xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入
33、HTMLTestRunner是Python的标准库unittest单元测试框架的一个扩展,用于生成HTML测试报告。
34、Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件