Java 硒化物。没有webdriver绑定到当前线程
我正在为spasuk建立一个并行的项目。为了获得更大的灵活性,我决定使用testng。面临的问题是测试中看不到web驱动程序。有以下错误Java 硒化物。没有webdriver绑定到当前线程,java,testing,webdriver,selenide,Java,Testing,Webdriver,Selenide,我正在为spasuk建立一个并行的项目。为了获得更大的灵活性,我决定使用testng。面临的问题是测试中看不到web驱动程序。有以下错误 java.lang.IllegalStateException: No webdriver is bound to current thread: 14. You need to call open(url) first. 下面是pom文件,它是一个测试类,因此可以清楚地知道如何调用它,初始化浏览器的方法和一个套件(它们的结构相同,只是引用了不同的包) 虽然
java.lang.IllegalStateException: No webdriver is bound to current thread: 14. You need to call open(url) first.
下面是pom文件,它是一个测试类,因此可以清楚地知道如何调用它,初始化浏览器的方法和一个套件(它们的结构相同,只是引用了不同的包)
虽然浏览器已打开
POM.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.app</groupId>
<artifactId>e2e-ui-cashier</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven-surefire-plugin.version>2.21.0</maven-surefire-plugin.version>
<junit-platform-surefire-provider.version>1.3.1</junit-platform-surefire-provider.version>
<aspectj.version>1.8.10</aspectj.version>
<junit.jupiter.version>5.6.2</junit.jupiter.version>
<junit.jupiter.engine.version>5.3.1</junit.jupiter.engine.version>
<junit.jupiter.api.version>5.4.2</junit.jupiter.api.version>
<selenide.version>5.2.7</selenide.version>
</properties>
<dependencies>
<dependency>
<groupId>com.codeborne</groupId>
<artifactId>selenide</artifactId>
<version>${selenide.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-selenide</artifactId>
<version>2.12.1</version>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>json-path</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>xml-path</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>json-schema-validator</artifactId>
<version>3.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>3.1.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.20</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.github.artsok</groupId>
<artifactId>rerunner-jupiter</artifactId>
<version>LATEST</version>
</dependency>
<dependency>
<groupId>org.aeonbits.owner</groupId>
<artifactId>owner</artifactId>
<version>1.0.10</version>
</dependency>
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>3.8.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.1.0</version>
<scope>compile</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/io.qameta.allure/allure-testng -->
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-testng</artifactId>
<version>2.13.3</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<includes>
<include>**/*Test.java</include>
</includes>
<useSystemClassLoader>false</useSystemClassLoader>
<testFailureIgnore>false</testFailureIgnore>
<argLine>
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
</argLine>
<systemProperties>
<property>
<name>junit.jupiter.extensions.autodetection.enabled</name>
<value>true</value>
</property>
</systemProperties>
<systemPropertyVariables>
<propertyName>allure-results</propertyName>
<allure.results.directory>target/allure-results</allure.results.directory>
<allure.link.issue.pattern>https://arammeem.atlassian.net/browse/{}</allure.link.issue.pattern>
</systemPropertyVariables>
<properties>
<property>
<name>suitethreadpoolsize</name>
<value>2</value>
</property>
<property>
<name>parallel</name>
<value>suites</value>
</property>
<property>
<name>dataproviderthreadcount</name>
<value>2</value>
</property>
</properties>
<suiteXmlFiles>
<suiteXmlFile>src/test/resources/suite1.xml</suiteXmlFile>
<suiteXmlFile>src/test/resources/suite2.xml</suiteXmlFile>
<!-- <suiteXmlFile>src/test/resources/suite3.xml</suiteXmlFile>-->
<!-- <suiteXmlFile>src/test/resources/suite4.xml</suiteXmlFile>-->
</suiteXmlFiles>
</configuration>
<dependencies>
<!-- <dependency>-->
<!-- <groupId>org.junit.platform</groupId>-->
<!-- <artifactId>junit-platform-surefire-provider</artifactId>-->
<!-- <version>${junit-platform-surefire-provider.version}</version>-->
<!-- </dependency>-->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>
配置:
public void configure() {
System.setProperty("selenide.browser", "chrome");
ChromeDriverManager.chromedriver().version(testProp.chromeDriverVersion()).setup();
SelenideLogger.addListener(testProp.selenideListener(), new AllureSelenide().screenshots(true).savePageSource(false));
System.out.println("DDDDDDDDDDDDDDDDDDDDDDDD");
Configuration.browserSize = testProp.browserSize();
Configuration.timeout = testProp.timeout();
Configuration.headless = testProp.headless();
clearBrowserCache();
BASE_LOCALE = Locale.EN;
Selenide.open(testCred.BASE_URL());
}
其中一间套房:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >
<!-- verbose="1" parallel="false"-->
<suite name="Suite1" parallel="tests" verbose="2">
<test name="Regression1" >
<packages>
<package name="pages.thread_1"></package>
</packages>
</test>
</suite>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >
<!-- verbose="1" parallel="false"-->
<suite name="Suite1" parallel="tests" verbose="2">
<test name="Regression1" >
<packages>
<package name="pages.thread_1"></package>
</packages>
</test>
</suite>