任何人都可以建议我如何在单个firefox浏览器中运行多个selenium脚本,并且webdriver应该只初始化一个,而在父类中也是如此,语言使用得很好java
谢谢..
答案 0 :(得分:0)
将您的@before
注释junit重命名为@beforeClass
示例代码
@BeforeClass
public void intialization(String machine) throws Exception {
driver = new FirefoxDriver();
baseUrl = "http://"+machine+":8080/";
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
driver.get(baseUrl);
utilities.Login(driver,"test","1234");
}
如何在一个类中运行其他Junit类请查看下面的示例
@Test
public void callotherJunitClasses()
{
JUnitCore.runClasses(TypeNameofyourClass.class);
}
答案 1 :(得分:0)
这是一种方法:
您可以创建一个使用WebDriver启动Selenium测试用例的框架。仅在运行时初始化驱动程序(ChromeDriver或FirefoxDriver),然后按顺序启动测试。
例如,如果您使用的是资源包,那么您将拥有FooTest.java和BarTest.java(您的脚本)以及FooTest.properties和BarTest.properties,您可以从中读取属性值,例如输入文本值。
您可能有一个Launchpage.properties,其中包含要启动的URL,例如:
localhost:8080\mypage
WebDriver将在启动时由框架初始化,而Launchpage.properties可能会以串行方式启动。
这里隐含的是浏览器只打开一次,因此测试2的操作依赖于,并且必须接受测试1的操作。
答案 2 :(得分:0)
您可以使用多线程概念
这将开始在一个浏览器上并行执行代码
答案 3 :(得分:0)
感谢所有您的支持查询已由您自己解决。
程序包A - > ClassA的:
将publicdriver中的webdriver对象初始化为..
" public static WebDriver driver = new FirefoxDriver();"
套餐B - > ClassB:
通过分配needsx来调用B类中的WebDriver变量
导入PackageA.ClassA;
public static WebDriver needsX = ClassA.driver;
所以现在我可以全局访问webdriver变量,并可以在一个浏览器中顺序运行多个脚本。