testng 相关问题

TestNG是一个测试框架,专注于提供Java编程语言中的单元和功能测试功能。它支持并行测试,数据提供程序,依赖项,组和其他功能。

在 Mockito 中模拟使用强制转换的对象

我正在开发一个Java项目,我需要使用testng为一个具有类似于以下方法的类编写单元测试: 公共布尔 isValidCode(字符串代码) { GenericService 服务...

回答 1 投票 0

多线程测试中TestNG dataprovider的执行顺序如何设置

我将所有测试用例保存在许多Excel文件中。 Excel 文件中的每个工作表都是一个测试用例。 我从作为数据提供者的java类中读取了所有工作表。 我的测试中只定义了 1 个测试方法: ...

回答 1 投票 0

如何在 Mockito 中模拟 WebMethod

我正在开发一个Java项目,我需要使用testng为一个具有类似于以下方法的类编写单元测试: 公共布尔 isValidCode(字符串代码) { // 这里有一些逻辑 ...

回答 1 投票 0

当每个套件的相同参数具有不同值时,不会更新运行多套件的 TestNG 参数值

TestRunner.java 公共静态无效主(字符串[] args){ List platformVersions = new ArrayList<>(){{add("14.0");add("11.0")}}; 对于(字符串平台Ve...

回答 1 投票 0

我只想在布尔标志为 true 时在 TestNg 中调用 @Test,并注意我不想使用 SkipException

我正在使用 TestNg 进行测试自动化。我想仅当某个标志为真时才启用测试。 例如 布尔值 isEnabled = true; 看看 @Test 的启用属性,它无法实现,因为它......

回答 1 投票 0

运行多个测试时,如何将失败的(java)selenium 测试的正确驱动程序传递给 testng ITestListener?

我有一个TestListener类,它实现了ITestListener,它负责在selenium测试失败时拍照并保存html。 我的硒测试有一个父类 BaseTest,w...

回答 1 投票 0

从 Maven Surefire 配置创建 uber 文件

当前堆栈是 Maven,每个域都有模块。 主模块导入其他模块。 并在 src 上有一个基本的 spring 应用程序,在测试上有一个 testNG/cucumber/springboot 运行程序。 我运行了那个测试...

回答 1 投票 0

如何逐一运行 TestNG 测试

我有一个测试套件,我想逐一运行 XML 文件中的测试。但是当我运行它时,它会同时运行所有TC(我同时打开3个浏览器)。 我的 XML: 我有一个测试套件,我想逐一运行 XML 文件中的测试。但是当我运行它时,它会同时运行所有 TC(我同时打开了 3 个浏览器)。 我的 XML: <suite name="TestingSuite" preserve-order="true" parallel="false" verbose="10"> <test name="Test1"> <classes> <class name="guiAndFunctianal.LoginFail" /> <class name="guiAndFunctianal.LoginAsManager" /> <class name="guiAndFunctianal.CreateUserTest" /> </classes> </test> </suite> 我的 TC 看起来像这样: public class LoginFail extends AbstractTest{ @ BeforeTest public void openBrowser() { openBrowserFireFoxAllTcs(); } @ Test public void main (){ } @ AfterTest public void quit() { driver.quit(); } 抽象测试 public class AbstractTest { WebDriver driver = new FirefoxDriver(); WebDriverWait wait = new WebDriverWait(driver, 10); public void openBrowserFireFoxAllTcs() { driver.get("some URL"); } 我假设你想要顺序执行。打开浏览器>完成测试>关闭浏览器,然后对其他浏览器重复相同的操作。如果是这种情况,我会执行以下操作: TestNG.XML <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="Suite" junit="false" parallel="false" configfailurepolicy="skip" thread-count="5" skipfailedinvocationcounts="false" data-provider-thread-count="10" group-by-instances="false" preserve-order="true" allow-return-values="false"> <test name="firefox" junit="false" skipfailedinvocationcounts="false" preserve-order="true" group-by-instances="false" allow-return-values="false"> <parameter name="browser" value="firefox" /> <classes> <class name="com.github.tests.GitHubHomePageTests" /> </classes> </test> <test name="ie" junit="false" skipfailedinvocationcounts="false" preserve-order="true" group-by-instances="false" allow-return-values="false"> <parameter name="browser" value="ie" /> <classes> <class name="com.github.tests.GitHubHomePageTests" /> </classes> </test> <test name="chrome" junit="false" skipfailedinvocationcounts="false" preserve-order="true" group-by-instances="false" allow-return-values="false"> <parameter name="browser" value="chrome" /> <classes> <class name="com.github.tests.GitHubHomePageTests" /> </classes> </test> </suite> 我如何实例化驱动程序: package com.github.tests; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.ie.InternetExplorerDriver; import org.testng.annotations.*; public class BaseTest { public WebDriver driver; String url = "https://github.com/"; @Parameters("browser") @BeforeClass public void SetUpTests(String browser) { if (browser.equalsIgnoreCase("firefox")) { driver = new FirefoxDriver(); } else if (browser.equalsIgnoreCase("ie")) { System.setProperty("webdriver.ie.driver", ".\\drivers\\IEDriverServer.exe"); driver = new InternetExplorerDriver(); } else if (browser.equalsIgnoreCase("chrome")) { System.setProperty("webdriver.chrome.driver", ".\\drivers\\chromedriver.exe"); driver = new ChromeDriver(); } //Navigate to url driver.navigate().to(url); //Maximize the browser window driver.manage().window().maximize(); } @AfterClass public void CleanUpDriver() throws Exception { // Quit current driver instance. try { driver.quit(); } catch (Exception ex) { throw ex; } } 如何试运行 package com.github.tests; import com.github.pageobjects.GitHubLandingPage; import org.testng.Assert; import org.testng.annotations.Test; public class GitHubHomePageTests extends BaseTest {@Test public void ExploreLinkTest() { String explorePageTitle = new GitHubLandingPage(driver) .clickGitHubExplorePage() .getGitHubExplorerPageTitle().trim(); System.out.println(explorePageTitle); Assert.assertEquals(explorePageTitle, "Explore GitHub"); } } 可在此处获取全球 Github 存储库 试试这个: <suite name="TestingSuite" preserve-order="true" thread-count="1" verbose="10"> <test name="Test1"> <classes> <class name="guiAndFunctianal.LoginFail" /> </classes> </test> <test name="Test2"> <classes> <class name="guiAndFunctianal.LoginAsManager" /> </classes> </test> <test name="Test3"> <classes> <class name="guiAndFunctianal.CreateUserTest" /> </classes> </test> </suite> 退出前关闭你的驱动程序: @测试后 公共无效退出(){ 驱动程序.close() 驱动程序.quit(); } 从 testng.xml 执行顺序测试 <suite name="Validation Suite" preserve-order="true" thread-count="1" verbose="10" parallel="false" configfailurepolicy="skip" allow-return-values="false"> <listeners> <listener class-name="ios.AllureListener"/> </listeners> <test name="Pricing Page Validations" skipfailedinvocationcounts="false" preserve-order="true" group-by-instances="false" allow-return-values="false"> <classes> <class name="ios.PricingTierPageValidations"/> </classes> </test> <!-- Test --> <test name="Application Page Validations" skipfailedinvocationcounts="false" preserve-order="true" group-by-instances="false" allow-return-values="false"> <classes> <class name="ios.ApplicationPageValidations"/> </classes> </test> </suite>

回答 4 投票 0

如何禁用 TestNG 控制台日志记录 [main] INFO org.testng.internal.Utils -

我有一个使用 Selenium、TestNG 和 Log4j 进行日志记录的自动化框架。运行测试时,TestNG 会在控制台生成一个我想禁止的特定日志。日志消息是: [...

回答 1 投票 0

在运行时为 TestNG Suite 设置全局变量?

我用 Java 编写了一个 TestNG Suite,它将使用测试帐户在另一个系统上运行。该帐户的凭据存储在密码库中,并通过 API 获取。每个...

回答 1 投票 0

使用mockito模拟javax.xml.ws.Service父类

我有一个Java类,我正在尝试使用testng和mockito编写单元测试。该类继承自 javax.xml.ws.Service 类。 服务类所需的 WSDL URL 当前为

回答 1 投票 0

我想模拟一个类的构造函数,并且仍然使用 Mockito 调用该类的真实方法

我正在尝试对 A 类进行单元测试,我在其构造函数 getB() 中调用一个方法。我想对这个类 A 进行单元测试,而不在构造函数内调用此方法,以便测试其他方法

回答 1 投票 0

当我想登录时,类扩展不起作用

当我想扩展类并在打开登录功能 URL 的情况下调用 NewTest 类时遇到问题,但之后没有任何反应,测试不会继续登录,功能不

回答 1 投票 0

从 Excel Sheet 读取信息,而不是将其放在 testConfig.properties 中

我正在构建一套自动化测试(Java、selenium、testNg、Apache POI)。 我有一个配置文件 .properties,其中有我使用的环境,每次我评论一个并使用另一个时......

回答 1 投票 0

自动化测试时使用重试功能时的Jenkins状态

我正在我的一个测试存储库中使用重试监听器,该存储库每天都在运行。 在 jenkins 中,我们使用 TestNG 结果插件 835.v51 在图片中您可以看到所有测试都已通过并且...

回答 1 投票 0

如何在 testNG 中重新运行跳过的测试?

我正在使用 TestNG 进行测试。在某些测试中,会生成测试数据,因此在 afterMethod 中我检查是否生成了额外的数据。如果是这样我就删除它。但有时出于某种原因数据会删除...

回答 2 投票 0

Dataprovider+TestNG - 线程“surefire-forkedjvm-command-thread”中出现异常 java.lang.OutOfMemoryError:Java 堆空间

我有一个基于 testng 和 dataprovider 的测试自动化框架。我在 jenkins job 的帮助下在服务器上运行我的代码。该作业使用 maven 命令行执行测试用例。这个工作是taki...

回答 1 投票 0

NoClassDefFoundError:org/testng/TestNG

这个错误 NoClassDefFoundError:org/testng/TestNG 当我尝试使用 IntelliJ IDEA 从 Testng.xml 文件运行测试时出现。 一项一项地运行我的测试和运行一样完美......

回答 9 投票 0

如何解决Selenium中页面对象模型中的java.lang.NullPointerException?

测试基类:- 公共类测试库{ 公共静态WebDriver驱动程序; 公共静态属性道具; // TestBase类构造函数用于初始化properties对象 ...

回答 2 投票 0

Dataprovider 与 xls 中每行的验证函数存在问题

我有以下课程 公共类 DataProiders { @DataProvider(名称=“数据”) 公共 String[][] getAllData() 抛出 IOException { // 使用 XLUtils 类,该类使用 XSSWorkbook 来获取...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.