Tag: testng

针对大量网站运行相同的测试

我需要针对70多个网站运行相同的测试,这些网站function相同,但皮肤不同。 但是,它们都通过不同的URL访问。 使用TestNG和Java,将URL传递给测试的有效方法是什么,以便我可以:a)针对每个站点运行每个测试并报告相同的b)并行执行测试以节省时间(未来需要) 我希望将URL存储为一种格式,以便它可以向最终用户公开并由它们配置。 理想情况下,这将在.csv中,或者在testng.xml文件中。 我在考虑@DataProvider或@Factory,但我不确定如何以有效和可维护的方式使用这些来从外部源获取参数,或者在我当前模型中哪些方法最适合放置? 我遇到的困难是我不想将数据必然传递到@Test,而是一次传递一个值(一个url)并针对所有@Test注释方法运行。 我目前的简单设置如下: testngxml: 我的验收测试: public class EndToEndTest extends DriverBase{ private HomePage home; private String url; @Factory(dataProvider = “urls”, dataProviderClass = URLProvider.class) public EndToEndTest(String url) { this.url = url; } @BeforeSuite public void stuff(){ newDriver(); } @BeforeClass public void setup(){ home = new HomePage(driver, url); } @Test (priority = 1) […]

通过测试监听器删除(复制)失败的TestNG结果

与此处发布的解决方案类似, TestNG重试失败的测试不会输出正确的测试结果 ,我试图在onFinish(ITestContext上下文)中使用测试监听器删除(重复)测试结果。 虽然使用context.getFailedTests()。removeResult(result)删除结果似乎工作正常(结果实际上已被删除),但似乎有“其他一些点”从中拉出结果导致构建仍然失败。 另请注意,当我从上面的文章运行样本测试时(其中有一个重复失败被删除,一个通过测试),我得到的结果是“测试结果”(没有按预期清理)与“套件结果” (重复故障按预期删除)。 而且,报告从哪里获取结果以决定是否使构建失败? 或者只是它在我清理失败的测试之前拉动结果……? =============================================== Default test Tests run: 3, Failures: 2, Skips: 0 =============================================== =============================================== Default suite Total tests run: 2, Failures: 1, Skips: 0 =============================================== 编辑:只是为了澄清,我们正在使用maven运行这些测试,他们是IT,所以我们使用故障安全插件运行它们。 问题是即使看起来测试被删除,mvnvalidation仍然无法构建,因为它认为无论如何都会发现构建失败。 而且如果从Eclipse运行这样的测试,即使删除了测试,当套件完成时,仍然会在日志中打印失败。 关于RetryAnalyzer:我根本不会考虑使用RetryAnalyzer良好/最佳实践,但如果您发现自己处于需要解决问题的情况,例如您inheritance了依赖RetryAnalyzer的测试套件,您可能会觉得这很有用。

关闭TestNG中的测试输出

我目前正在使用此XML文件启动我的测试: 我正在寻找一种方法来切断TestNG默认情况下生成的测试输出文件夹。 来自http://reportng.uncommons.org/我可以看到 您可能还希望通过将useDefaultListeners属性设置为“false”来禁用默认的TestNG报告者。 这似乎符合我的需要,不是因为他们的XML结构看起来与我的不同。 有人知道如何使用TestNG关闭测试输出文件吗? 谢谢

TestNG retryAnalyzer仅在方法@Test中定义时才起作用,在类’@Test中不起作用

这可以正常工作,测试失败(由于haltTesting())并重复2次 public class A0001_A0003Test extends TestControl { private Kunde kunde = Kunde.FR_WEHLITZ; @Test(retryAnalyzer = TestRepeat.class, groups = {TestGroups.FAILED}, description = “verify adress”) public void testkundenDaten_Angaben() throws Exception { bifiTestInitial(); testActions.selectKunde(kunde); haltTesting(); } } 但是因为我在一个类中有多个测试,所以我在类级别定义了repeatAnalyzer @Test(retryAnalyzer = TestRepeat.class) public class A0001_A0003Test extends TestControl { private Kunde kunde = Kunde.FR_WEHLITZ; @Test(groups = {TestGroups.FAILED}, description = “verify adress”) […]

seleniumwebdriver在左侧移动滑块

我想移动滑块左侧的滑块。 但是,seleniumwebdriver将它移动到右侧,但它不会移动到左侧。 我想将滑块移动到滑块总宽度的25%。 我使用下面给出的代码与java 1.8与selenium 2.44。 我已尝试使用向上,向下,向左,向右箭头键的所有选项,但仍然无法实现它。 我很感激您的意见。 package RandD; import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.interactions.Action; import org.openqa.selenium.interactions.Actions; public class test{ static WebDriver driver; public static void main(String[] args) { driver = new FirefoxDriver(); driver.get(“http://jqueryui.com/slider/”); driver.switchTo().frame(0); slider(); } public static void slider(){ WebElement slider = driver.findElement(By.id(“slider”)); int width=slider.getSize().getWidth(); Actions […]

Servletunit testing

目前我正在使用TestNG框架来测试应用程序业务逻辑,最近我添加了一些Servlet类。 如何在TestNg框架中对这些Servlet类进行unit testing?

Gradle编译但不运行TestNG测试

我们刚开始在我们的项目中使用Gradle和TestNG,所以我正在检查是否实际上没有任何测试失败。 我很惊讶地发现它没有。 测试被选中并正确编译,所以我看到了类文件。 我也得到了一个关于跑步的报告,但它说了0次测试(预计2次)。 运行gradle clean test -i给出了以下内容: :contentplatform-service:compileTestJava (Thread[Daemon worker Thread 7,5,main]) started. :contentplatform-service:compileTestJava Executing task ‘:contentplatform-service:compileTestJava’ (up-to-date check took 0.08 secs) due to: Output file D:\Dev\contentplatform-service\build\classes\test has changed. Output file D:\Dev\contentplatform-service\build\dependency-cache has changed. Output file D:\Dev\contentplatform-service\build\classes\test\nl\xillio\conten tplatform\service\SuperSimpleTest.class has been removed. All input files are considered out-of-date for incremental task ‘:contentplatfor m-service:compileTestJava’. Compiling with […]

如何使用Eclipse创建’testng.xml’

我是TestNG和Selenium Webdriver的新手,并尝试使用eclipse创建一个testng.xml。 在www中完成了一些研究,并了解可以通过右键单击Java类>> TestNG >>转换为TestNG来创建此文件 但是,此转换重构向导未打开。 如果Java类已经包含@Test注释(!?),是否该向导无法打开 你能帮我用eclipse创建testng.xml吗? (我正在使用Eclipse Luna)

如何在Selenium中测试“记住我”复选框function

我正在尝试测试登录表单的“记住我”function。 我可以输入用户名和密码,单击复选框,单击“提交”,然后quit()或close()浏览器。 但是当我使用new ChromeDriver() (或任何其他WebDriver实现)重新打开浏览器时,测试站点不会记住任何内容,因为在浏览器关闭时会删除所有cookie,并且在重新打开浏览器时无法访问它们。

如何在@BeforeSuite中使用testNG @Parameters来读取资源文件

我正在使用带有Selenium webdriver2.0 testNG 。 在我的testNG.xml我有 在java文件中 @BeforeSuite(groups = { “abstract” } ) @Parameters(value = { “config-file” }) public void initFramework(String configfile) throws Exception { Reporter.log(“Invoked init Method \n”,true); Properties p = new Properties(); FileInputStream conf = new FileInputStream(configfile); p.load(conf); siteurl = p.getProperty(“BASEURL”); browser = p.getProperty(“BROWSER”); browserloc = p.getProperty(“BROWSERLOC”); } 得到错误 AILED CONFIGURATION:@BeforeSuite initFramework org.testng.TestNGException:@Configuration在方法initFramework上需要参数’config-file’,但尚未标记为@Optional或在 如何将@Parameters用于资源文件?