package com.MavenLearning.Login;
import static org.testng.Assert.assertEquals;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;
public class LoginOne {
@Test
public void LoginTestOne()
{
{
System.setProperty("webdriver.gecko.driver","C:\\Webdriver\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get("http://www.demo.guru99.com/v4/");
driver.findElement(By.name("uid")).sendKeys("mngr105709");
driver.findElement(By.name("password")).sendKeys("jajeten");
driver.findElement(By.name("btnLogin")).click();
assertEquals(driver.getTitle(), "Guru99 Bank Manager HomePage");
String A = driver.getTitle();
System.out.println(A);
String B = "Guru99 Bank Manager HomePage";
System.out.println(B);
if (A.equals(B))
System.out.println("Page Title matches");
else
System.out.println("Page Title Doesn't Match");
}
}
}
各位前辈,我已经用Selenium编写了代码,并将其存储在全局方法中。我不知道如何调用另一个类中的方法。当我用 Java 学习 Selenium 时,我可以轻松地调用不同类的方法,但现在却陷入了 TestNG。我尝试导入方法包,所以一切都应该有效,但没有成功。预先感谢您的帮助。
最佳答案
来自 Global 如果您指的是 public static
那么您只需要像下面这样调用它:
ClassName.functionName()
如果它不是静态的,那么您需要创建该类的一个对象,然后调用如下函数:
MyClass my = new MyClass();
my.MyFunctionName();
已更新
您需要创建一个 xml 文件,特别是您需要执行的所有类。
XML 示例
<?xml version="1.0" encoding="UTF-8"?>
<suite name="example suite 1" verbose="1" >
<test name="Regression suite 1" >
<classes>
<class name="com.first.example.demoOne"/>
<class name="com.first.example.demoTwo"/>
<class name="com.second.example.demoThree"/>
</classes>
</test>
</suite>
来源:
http://www.seleniumeasy.com/testng-tutorials/testngxml-example-to-execute-with-class-names
视频教程:
关于javascript - 如何使用 TestNG 从 Selenium 中的主类调用全局方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47385448/