坚持网络驱动程序之间

时间:2014-07-30 19:30:23

标签: java selenium persist

公共类LogIntoapp {

@Test
public static void main() {


    Login();
    AddAccountData();
}

在我的登录方法中,我有: System.setProperty(" webdriver.chrome.driver"" C:/drivers/chromedriver.exe");         WebDriver driver = new ChromeDriver();

因此,当我调用AddAccountData时,我需要保持该驱动程序继续导航。我不想在第二种方法中创建新的网络驱动器。希望我并没有完全偏离这种方法。

1 个答案:

答案 0 :(得分:1)

我真的建议你查看关于如何构建测试的页面对象模式,它会使你的内容更加可扩展,我会建议像:http://code.google.com/p/selenium/wiki/PageObjects但是如果你google for那个名字,你会发现很多优秀的资源。

您可能想忽略我的建议,让测试继续有效。最简单的方法是让您的登录方法返回您创建的驱动程序。

public WebDriver Login(){
    //your current code here

    return driver;
}

然后在你的测试中你会得到:

WebDriver driver = Login();

AddAccountData(driver);

基本上你会将驱动程序传递给每个方法。

我真的建议使用第一种方法来处理页面对象。

虽然我在这里有一些值得注意的事情,但你的测试是公共静态void main,虽然它是应用程序的正常入口点,但这通常不是测试结构的方式,它应该只是是一个公共的无效方法,名称不一定是主要的(事实上它被称为混乱)。

其次,按照惯例,Java中的方法名称以小写字母开头,遵循这些约定将有助于人们更容易地遵循代码,因为它变得更复杂。

相关问题