package Links;
import org.testng.annotations.*;
import static org.testng.Assert.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
public class TestArea {
private WebDriver driver;
private StringBuffer verificationErrors = new StringBuffer();
@BeforeClass(alwaysRun = true)
public void setUp() throws Exception {
System.setProperty("webdriver.gecko.driver", "C:\\Automation\\SeleniumFiles\\Browser Drivers\\geckodriver.exe");
driver = new FirefoxDriver();
}
@Test
public void Example() throws Exception {
driver.get(
"http://MyWebsite");
try {
assertTrue(isElementPresent(
By.xpath("The Element I want look for ")));
} catch (Error e) {
verificationErrors.append(e.toString());
}
}
// -------------------------------------------------------------------------------------
@AfterClass(alwaysRun = true)
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
fail(verificationErrorString);
}
}
private boolean isElementPresent(By by) {
try {
driver.findElement(by);
return true;
} catch (NoSuchElementException e) {
return false;
}
}
}
“通过”测试但配置失败的示例。
配置失败:@afterclass tearDown java.lang.assertionerror:java.lang.assertionerror:应为[true],但在org.testng.assert.fail(assert.java:96)在links.testarea.tearDown(Testarea.java:96)在sun.reflect.nativeMethodAccessorImpl.Invoke0(本机方法)在sun.reflect.nativeMethodAccessorImpl.Invoke(未知源)在sun.reflect.delegatingmethodAccessorImpl.Invoke(未知源)在org.testng.internal.methodInvocationHelper.java:124)在java.lang.reflect.methodInvoke G.internal.MethodInvocationHelper.InvokeMethod考虑超时(MethodInvocationHelper.java:59)在org.testng.internal.Invoker.InvokeConfigurationMethod(Invoker.java:455)在org.testng.internal.Invoker.InvokeConfigurations(Invoker.java:222)在org.testng.internal.Invoker.InvokeConfigurations(Invoker.java:142)在org.testmethodWorker.InvokeAfterClassMethods(TestMethodWorker.214)在org.testng.internal.TestMethodorg.testng.testrunner.privaterun(testrunner.java:648)org.testng.testrunner.run(testrunner.java:505)org.testng.suiterunner.runtest(suiterunner.java:455)org.testng.suiterunner.runsequency(suiterunner.java:450)org.testng.suiterunner.privaterun(suiterunner.privaterun(suiterunner.java:415)org.testng.suiterunner.run(suiterunner.java:364)org.testng.suiterunner.runsuite(unnerworker.java:52)在org.testng.suiterunnerworker.run(suiterunnerworker.java:84)在org.testng.testng.runsuites(testng.java:1208)在org.testng.testng.runsuites(testng.java:1137)在org.testng.testng.runsuites(testng.java:1049)在org.testng.testng.runsuites(testng.java:1017)在org.testng.remote.abstractremotetestng.run(abstractremotetestng.java:114)在org.testn g.remote.remoteTestng.initandRun(remoteTestng.java:251)在org.testng.remote.remoteTestng.main(remoteTestng.java:77)
已通过:示例
============================================================================================================默认测试运行:1次,失败:0次,跳过:
==================================================================默认套件运行的测试总数:1,失败:0,跳过:0配置失败:1,跳过:
当测试可以找到元素时,我没有得到配置问题。
事先非常感谢
您的测试代码中存在一些问题。
默认情况下,TestNG在以下情况下使@test
方法失败:
import org.testng.annotations.*;
import static org.testng.Assert.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
public class TestArea {
private WebDriver driver;
@BeforeClass(alwaysRun = true)
public void setUp() throws Exception {
System.setProperty("webdriver.gecko.driver", "C:\\Automation\\SeleniumFiles\\Browser Drivers\\geckodriver.exe");
driver = new FirefoxDriver();
}
@Test
public void Example() throws Exception {
driver.get( "http://MyWebsite");
assertTrue(isElementPresent( By.xpath("The Element I want look for ")));
}
@AfterClass(alwaysRun = true)
public void tearDown() throws Exception {
driver.quit();
}
private boolean isElementPresent(By by) {
try {
driver.findElement(by);
return true;
} catch (NoSuchElementException e) {
return false;
}
}
}
一个“通过”测试但配置失败的示例。 失败的配置:@afterclass tearDown java.lang.assertionerror:java.lang.assertionerror:expected[true],但在)在org.testng.internal.MethodInvocationHelper.invokeMethodCommissioningTimeout(methodInvo
问题内容: 我正在使用Django 1.7和django-rest-framework。 我制作了一个API,该API返回了一些JSON数据,并将其放入了我的 settings.py 当我进行GET调用时,它将返回我所有的数据,但是当我尝试使用PUT / PATCH时,我得到: 仅当我登录时才会发生这种情况,如果我是匿名用户,则可以正确进行PUT / PATCH。 我尝试过,但遇到错误,我将设置包
问题内容: 我已经设置了一个Jenkins服务器来运行Selenium测试。生成脚本是用Ant(CentOS 6.3上的v 1.7.1)编写的,并且测试在Sauce Labs上运行。我通过外壳执行构建: 问题是测试失败时,詹金斯(Jenkins)将其标记为成功。我可以通过将设置为来避免这种情况,请参阅: 但是,这并不理想,因为Jenkins会在遇到第一个故障时终止构建。构建完成后是否可以检查失败,
安装程序:我有一个扩展IRetryAnalyzer的类,并实现了一个简单的重试逻辑,覆盖了以下方法:public boolean retry(ITestResult result){ 提前道谢。
从多个github讨论中,我发现这是一个windows网络错误。 这个问题有解决办法吗?我应该降级docker版本还是安装其他东西。 我正在使用windows容器。运行docker版本客户端:版本:17.06.0-CE API版本:1.30 Go版本:Go1.8.3 Git提交:02C1D87构建:周五6月23日21:30:30 2017 OS/arch:Windows/amd64 如何解决lin
我已经设置了一个Jenkins服务器来运行Selenium测试。构建脚本是用Ant(CentOS 6.3上的V1.7.1)编写的,测试在Sauce实验室上运行。我通过shell执行构建: