javascript - 如何使用 TestNG 从 Selenium 中的主类调用全局方法

标签 javascript selenium-webdriver testng

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

视频教程:

https://www.youtube.com/watch?v=cNhnqVWD_54

关于javascript - 如何使用 TestNG 从 Selenium 中的主类调用全局方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47385448/

相关文章:

javascript - Emacs JavaScript 自动缩进

javascript - jslint 警告 "Don' t 在循环内创建函数“仅适用于引用外部变量的函数?

java - Selenium 无法定位帧内的字段

javascript - Selenium - 如果下拉值已经存在,如何检查和增加下拉值?

java - 每次测试前运行方法

java - 是否有 dependentOnMethods TestNG 功能的隐式替代方案? (按相关顺序运行测试)

javascript - 构建 DOM 中任何给定节点的 querySelector 字符串值

javascript - 如何使用 jQuery 从表中的最后一个 tr 中选择前一个 td?

javascript - 如何使用 Protractor 从网格中获取列数据?

java - 我的 DataProvider 没有被调用