广东网站建设方便,品牌广告策划方案,茶叶网站模板 html,网络营销推广方法公司推荐1.简介
上一篇文章中#xff0c;从TestNg的特点我们知道支持变量#xff0c;那么我们这一篇就通过变量参数来启动不同的浏览器进行自动化测试。那么如何实现同时启动不同的浏览器对脚本进行测试#xff0c;且听我娓娓道来。
2.项目实战
2.1创建一个TestNg class 1.首先按…1.简介
上一篇文章中从TestNg的特点我们知道支持变量那么我们这一篇就通过变量参数来启动不同的浏览器进行自动化测试。那么如何实现同时启动不同的浏览器对脚本进行测试且听我娓娓道来。
2.项目实战
2.1创建一个TestNg class 1.首先按照上一篇的方法创建一个TestNg class命名为TestDiffBrowse不需要勾选Beforeclass和Afterclass如下图所示 2.或者这样右键TestNG-Create TestNG Class,创建一个TestNg class命名为TestDiffBrowse不需要勾选Beforeclass和Afterclass如下图所示
2.2代码设计
Parmeters(“Browser”),直接把外部参数Browser通过Parmaeters注释引入到测试脚本***方法共享这个变量.
2.3参考代码
package lessons;import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;/*** author 程序员二黑* * 公众号:程序员二黑* * 《手把手教你》系列技巧篇六十八-java selenium自动化测试 - 读写excel文件 -下篇详细教程 ** 2022年2月25日*/
public class TestDiffBrowse {Test// 这行Test一定要写如果不写表示当前没有需要执行的脚本你可以测试不写然后run testng.xml试试看会发生什么Parameters(Browser)public void startBrowser(String browser) {if (browser.equalsIgnoreCase(Firefox)) {System.setProperty(webdriver.gecko.driver,.\\Tools\\geckodriver.exe);WebDriver driver new FirefoxDriver();driver.manage().window().maximize();driver.get(https://www.baidu.com);driver.quit();} else if (browser.equalsIgnoreCase(Chrome)) {System.setProperty(webdriver.chrome.driver,.\\Tools\\chromedriver.exe);WebDriver driver new ChromeDriver();driver.manage().window().maximize();driver.get(https://www.baidu.com);driver.quit();}}
}2.4创建testng.xml
1.创建一个testng.xml文件设置参数Browser。右键上面我们创建的TestCrossBrowser.java选择TestNG-Convert to TestNG,根据提示走完这个向导。完成后会在当前项目的根目录生成一个testng.xml的文件。如下图所示 2.将生成的testng.xml文件进行调整和修改内容如下 3.参考代码
?xml version1.0 encodingUTF-8?
!DOCTYPE suite SYSTEM http://testng.org/testng-1.0.dtd
!-- Suite相关设置这里paraller是执行的模式有tests classes methods三种取值thread-count表示两个线程执行用例 --
suite nameSuite paralleltests thread-count2test nameTestparameter nameBrowser valueFirefox /classesclass namelessons.TestDiffBrowser//classes/test !-- Test --test nameTest1parameter nameBrowser valueChrome /classesclass namelessons.TestDiffBrowser//classes/test !-- Test --
/suite !-- Suite --这里需要注意每个test标签下的name不能重名下面解释下parallel这个属性上面提到有三种值。 1tests
TestNG 会在相同的线程中运行相同标记下的所有方法但是每个下的方法会运行在不同的线程下。
应用可以将非线程安全的类放在同一个标签下并且使其可以利用TestNG多线程的特性的同时让这些类运行在相同的线程中。不太理解
2methods
TestNG 会在不同的线程中运行测试方法除非那些互相依赖的方法。那些相互依赖的方法会运行在同一个线程中并且遵照其执行顺序。
3classes
TestNG 会在相同线程中相同类中的运行所有的方法但是每个类都会用不同的线程运行
属性 thread-count 允许你为当前的执行指定可以运行的线程数量。
2.5运行代码
1.运行代码右键Run AS-TestNG Suite控制台输出观察运行结果在控制台输出地方可以看到运行了2个test。如下图所示 2.运行代码后电脑端的浏览器的动作
3.小结
好了时间也不早了今天就分享和讲解到这里希望对您有所帮助感谢您耐心地阅读
最后下方这份完整的软件测试视频学习教程已经整理上传完成朋友们如果需要可以自行免费领取 【保证100%免费】