小编Kri*_*van的帖子

Selenium Automation:运行测试套件时除了有效失败之外,失败测试用例的可接受范围是什么?

我们公司正在开发一个用于Web应用程序的Selenium,POM,Maven和Java框架,我们有大约35个测试用例.当我们运行testng.xml时,至少有4到5个测试用例由于过时的元素异常或在该点无法点击的元素而随机失败,等等.

在运行testng.xml时,某些测试用例是否常见失败?您的组织中运行了多少个测试用例,以及对失败的数量的估计是多少?

java selenium automation selenium-webdriver

6
推荐指数
1
解决办法
173
查看次数

引起:java.lang.NoClassDefFoundError:com_atlassian_clover/TestNameSniffer

在启用了三叶草配置文件的情况下调用 TestNG 单元测试用例时出现以下错误。没有改变任何三叶草版本。不知道为什么会发生。

这是我的库详细信息 - clover-4.0.3、testng - 6.0.1、maven 3

Caused by: java.lang.NoClassDefFoundError: com_atlassian_clover/TestNameSniffer
at com.mds404.catalog.infrastructure.entity.ModelBase.<clinit>(ModelBase.java:27)
at sun.reflect.GeneratedSerializationConstructorAccessor1.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at org.objenesis.instantiator.sun.SunReflectionFactoryInstantiator.newInstance(SunReflectionFactoryInstantiator.java:40)
at org.objenesis.ObjenesisBase.newInstance(ObjenesisBase.java:59)
at org.mockito.internal.creation.jmock.ClassImposterizer.createProxy(ClassImposterizer.java:111)
at org.mockito.internal.creation.jmock.ClassImposterizer.imposterise(ClassImposterizer.java:51)
at org.mockito.internal.util.MockUtil.createMock(MockUtil.java:52)
at org.mockito.internal.MockitoCore.mock(MockitoCore.java:41)
at org.mockito.Mockito.mock(Mockito.java:1014)
at org.mockito.Mockito.mock(Mockito.java:909)
at com.mds404.rest.v2.controller.BaseControllerTest.<init>(BaseControllerTest.java:107)
... 33 more
Caused by: java.lang.ClassNotFoundException: com_atlassian_clover.TestNameSniffer
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.apache.maven.surefire.booter.IsolatedClassLoader.loadClass(IsolatedClassLoader.java:97)
... 46 more
Run Code Online (Sandbox Code Playgroud)

java clover mockito maven

5
推荐指数
2
解决办法
5321
查看次数

testng范围报告中的测试和步骤之间的差异

我对testng范围报告中的测试和步骤之间的区别感到困惑.

我有2个测试用例,1次通过,1次失败.在测试范围报告中:1个测试通过1个测试失败,0个其他测试失败,步骤:1个步骤通过2个步骤失败,0个其他

那么有人会澄清两者之间有什么区别吗?

附加代码段和testng范围报告

    @Test
    public void demoTestPass()
    {
        test = extent.createTest("demoTestPass", "This test will demonstrate the PASS test case");
        Assert.assertTrue(true);
    }


    @Test
    public void demoTestFail()
    {
        test = extent.createTest("demoTestFail", "This test will demonstrate the FAIL test case");
        Assert.assertEquals("Hi", "Hello");
    }
Run Code Online (Sandbox Code Playgroud)

请点击此处查看范围报告.

任何澄清将非常感激.

java selenium-extent-report extentreports

5
推荐指数
2
解决办法
1385
查看次数

Appium:异常:发生无效的服务器实例异常:没有安装的节点

我试图以编程方式启动appium服务器,但遇到错误。如何解决这个问题?我已经安装了nodejs和appium,并且正确设置了environemnt变量。我正在使用Maven Appium Java客户端6.1.0和Selenium 3.14.0。请帮助。十亿感谢您的帮助。

码:

try {
            File appDir = new File(System.getProperty("user.dir"));
            File app = new File(appDir, "..\\apk\\Flipkart.apk");

            // apk Capabilities
            DesiredCapabilities caps = new DesiredCapabilities();
            caps.setCapability("deviceName", "Sony Xperia Z2");
            caps.setCapability("BROWSER_NAME", "Android");
            caps.setCapability("platformVersion", "6.0");
            caps.setCapability(MobileCapabilityType.PLATFORM_NAME, Platform.ANDROID);
            //caps.setCapability("udid", "WUJ01N4RQ3"); // DeviceId from "adb devices" command
            caps.setCapability("platformName", "Android");
            caps.setCapability("app", app.getAbsolutePath());
            caps.setCapability("appPackage", "com.flipkart.android");
            caps.setCapability("appActivity","com.flipkart.android.SplashActivity");

            // Appium Capabilities
            caps.setCapability("skipUnlock","true");
            caps.setCapability("noReset","false");

            appiumBuilder = new AppiumServiceBuilder();
            appiumBuilder.withIPAddress("127.0.0.1");
            appiumBuilder.usingPort(47233);
            appiumBuilder.withCapabilities(caps);
            appiumBuilder.withStartUpTimeOut(3, TimeUnit.MINUTES);
            appiumBuilder.withLogFile(new File(System.getProperty("user.dir") + "\\log\\appium.log"));
            appiumBuilder.withArgument(GeneralServerFlag.SESSION_OVERRIDE);
            appiumBuilder.withArgument(GeneralServerFlag.LOG_LEVEL, "DEBUG");
            appiumBuilder.withArgument(GeneralServerFlag.ASYNC_TRACE, "true");

            appiumServer = AppiumDriverLocalService.buildService(appiumBuilder);
            appiumServer.start();
            //new URL("http://127.0.0.1:47233/wd/hub") …
Run Code Online (Sandbox Code Playgroud)

java appium

5
推荐指数
2
解决办法
1970
查看次数

命令行参数:处理“未定义”错误消息

以下是源文件的组织方式

?-1 ~/Go/src/github.com/krmahadevan/packages 
18:24 $ tree .
.
??? sample_main.go
??? sample_one.go

0 directories, 2 files
Run Code Online (Sandbox Code Playgroud)

下面是源代码的样子:

sample_one.go

?-1 ~/Go/src/github.com/krmahadevan/packages 
18:24 $ tree .
.
??? sample_main.go
??? sample_one.go

0 directories, 2 files
Run Code Online (Sandbox Code Playgroud)

sample_main.go

package main

var data map[string]string

func init() {
    data = make(map[string]string, 0)
}
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试运行sample_main.go 时,出现错误,指出data未定义。

18:24 $ go run sample_main.go 
# command-line-arguments
./sample_main.go:6:2: undefined: data
./sample_main.go:7:14: undefined: data
?-2 ~/Go/src/github.com/krmahadevan/packages
Run Code Online (Sandbox Code Playgroud)

但是当我将代码构建成二进制文件然后执行它时,它运行良好。

? ~/Go/src/github.com/krmahadevan/packages 
18:27 $ go build
? ~/Go/src/github.com/krmahadevan/packages 
18:28 $ ./packages …
Run Code Online (Sandbox Code Playgroud)

go

5
推荐指数
1
解决办法
3934
查看次数

尝试从主方法运行TestNG时,无法在类路径中找到类

我使用Maven运行Selenium Testng测试,但是我试图创建可执行jar,因此其他团队成员只需简单的设置即可从其桌面运行自动化套件。

因此,我添加了一个主要的“运行器”方法来创建可执行jar。

public class LaunchTests {

public static void main(String[] args) {
    TestListenerAdapter tla = new TestListenerAdapter();
    TestNG testng = new TestNG();
    List<String> suites = new ArrayList();
    suites.add("testng.xml");//path to xml..
    testng.setTestSuites(suites);
    testng.run();

}
Run Code Online (Sandbox Code Playgroud)

}

我最好的猜测是需要向POM.xml中添加一些内容吗?

从eclipse手动运行testng测试或使用mvn clean测试(Surefire插件)运行它们时,它们可以完美运行。但是当尝试以Java程序运行时出现此错误。

    Exception in thread "main" org.testng.TestNGException: 
Cannot find class in classpath: package.TestOne
    at org.testng.xml.XmlClass.loadClass(XmlClass.java:81)
    at org.testng.xml.XmlClass.init(XmlClass.java:73)
    at org.testng.xml.XmlClass.<init>(XmlClass.java:59)
    at org.testng.xml.TestNGContentHandler.startElement(TestNGContentHandler.java:548)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown …
Run Code Online (Sandbox Code Playgroud)

java testng maven

3
推荐指数
1
解决办法
3万
查看次数

如何解决 Can insert only &lt;ITestContext, XmlTest&gt; 之一到 BeforeTest 注释的 setBrowser 错误

我使用了 @BeforeTest 和 @AfterTest 注释。请找到下面的代码

WebDriverFactory wd =  new WebDriverFactory();

    //@Parameters({"browserName","appURL"})
    @BeforeTest
    public void setBrowser(String browserName, String appURL){
        wd.setDriver("chrome", "https:URL");
    }

    @AfterTest
    public void tearDown()
    {
        wd.closeBrowser();
    }
Run Code Online (Sandbox Code Playgroud)

并低于错误

AILED 配置:@BeforeTest setBrowser org.testng.TestNGException:只能注入其中之一到 BeforeTest 注释的 setBrowser。有关本机依赖项注入的更多信息,请参阅http://testng.org/doc/documentation-main.html#native-dependency-injection at org.testng.internal.Parameters.checkParameterTypes(Parameters.java:244) at org .testng.internal.Parameters.createParameters(Parameters.java:172)

java testng

3
推荐指数
1
解决办法
1万
查看次数

使用JUnit 5并行执行测试用例

是否可以与JUnit 5并行执行测试用例?

我正在寻找类似的东西threadPoolSize,并invocationCountTestNG的

@Test(threadPoolSize = 3, invocationCount = 10,  timeOut = 10000)
Run Code Online (Sandbox Code Playgroud)

java junit junit5

3
推荐指数
1
解决办法
3780
查看次数

如果在TestNG中执行组,则不会调用@Before Suite和@BeforeTest方法

下面是我的XML文件和Demo Class.Precondition()方法将在demo1()方法之前运行,而postCondition()方法将在demo1()方法之后运行.同样的过程适用于demo2().但是当我运行代码时,不会调用BeforeSuite和BeforeTest方法.为什么.?怎么称呼他们?

Output :           
Before Method is executing                                                       
DEMO -1   
After Method is executing  
Before Method is executing  
DEMO 2  
After Method is executing
Run Code Online (Sandbox Code Playgroud)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
    <test name="Test">
        <groups>
            <run>
                <include name = "Hey"></include>
            </run>
        </groups>
        <classes>
            <class name="practicepackage.Demo"/>
        </classes>
    </test> <!-- Test -->
</suite> <!-- Suite -->  
Run Code Online (Sandbox Code Playgroud)
package practicepackage;

import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

public class Demo {

    @BeforeSuite
    public void beforeSuite(){
        System.out.println("Before Suite method is being …
Run Code Online (Sandbox Code Playgroud)

testng annotations

2
推荐指数
1
解决办法
2462
查看次数

该驱动程序不可用于 Chromedriver

我已经尝试设置 chromedriver 权限并将其标记为可执行文件。我也设置了 PATH 变量,但仍然出现此错误。我还可以采取哪些其他步骤来解决问题?我在 EC2 Linux 实例上使用 Git 运行 Jenkins。

java.lang.IllegalStateException: The driver is not executable: /var/lib/jenkins/workspace/Selenium TestNG ANT Build - Git/chromedriver.exe
    at com.google.common.base.Preconditions.checkState(Preconditions.java:534)
    at org.openqa.selenium.remote.service.DriverService.checkExecutable(DriverService.java:140)
    at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:131)
    at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:32)
    at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:137)
    at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:339)
    at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)
    at WebDriver.TestNGScript.beforeTestsetUp(Unknown Source)
... Removed 22 stack frames
Run Code Online (Sandbox Code Playgroud)

java selenium jenkins selenium-chromedriver

1
推荐指数
1
解决办法
5061
查看次数