public class LogIntoapp {
@Test
public static void main() {
Login();
AddAccountData();
}
在我的登录方法中,我有:
System.setProperty("webdriver.chrome.driver","C:/drivers/chromedriver.exe");
WebDriver driver = new ChromeDriver();
因此,当我调用 AddAccountData 时,我需要保留该驱动程序以继续导航。我不想在第二种方法中创建新的网络驱动器。希望我对这种方法没有完全偏离。
我真的建议您查找有关如何构建测试的页面对象模式,这将使您继续下去时更具可扩展性我建议类似:http://code.google.com/p /selenium/wiki/PageObjects 但是如果你用谷歌搜索这个名字,那么你会发现很多优秀的资源。
您可能想忽略我的建议,而只是让您的测试继续发挥作用。那么最简单的方法是让您的登录方法返回您创建的驱动程序。
public WebDriver Login(){
//your current code here
return driver;
}
那么在你的测试中你会:
WebDriver driver = Login();
AddAccountData(driver);
基本上您会将驱动程序传递给每个方法。
我真的会推荐我的第一种方法,虽然使用页面对象。
虽然我在这里还有其他一些值得注意的事情,但您的测试是 public static void main ,尽管这是应用程序的正常入口点,但这通常不是测试的结构,它应该只是一个 public void方法和名称不必是 main (事实上,如此称呼它会令人困惑)。
其次,Java 中的方法名称按照惯例以小写字母开头,遵循约定将帮助人们在代码变得更加复杂时更轻松地理解您的代码。