bug: Java Client 8 can't connect to local Appium 2 server
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- ios, java
- Lĩnh vực
- mobile-dev, testing-qa
Hướng nghiên cứu
Trước tiên, hãy tái hiện lỗi bằng phần khởi tạo IOSDriver được hiển thị, Java client 8.2.0 và lệnh CLI của Appium server, sau đó so sánh các phản hồi /status và /sessions của server với yêu cầu session. Kiểm tra entry point của Java client và thiết lập WebDriverAgentRunner được mô tả trong issue; hoàn tất khi một session trên thiết bị iOS thực được khởi chạy mà không cần khởi chạy WDA Runner thủ công.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Is there an existing issue for this?
- I have searched the existing issues
Current Behavior
After migration from Appium 1 to Appium 2 (also Selenium 3 to Selenium 4) all my tests are not working. The issue is related to connection from java client to local Appium server
Java code is returning error:
org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
Host info: host: 'POLO-1357.lan', ip: 'fe80:0:0:0:1835:b628:a560:a83b%en0'
Server is not logging anything from this test
Im starting server via CLI:
appium server --address 127.0.0.1 --port 4723 --allow-cors
*I know that the port 4723 is a default one so can be omitted
When I will call simple GET /status or /sessions I can reach response from my local server:
[HTTP] --> GET /status
[HTTP] {}
[debug] [AppiumDriver@53b3] Calling AppiumDriver.getStatus() with args: []
[debug] [AppiumDriver@53b3] Responding to client with driver.getStatus() result: {"build":{"version":"2.0.0-beta.66"}}
[HTTP] <-- GET /status 304 3 ms - -
[HTTP]
[HTTP] --> GET /status
[HTTP] {}
[debug] [AppiumDriver@53b3] Calling AppiumDriver.getStatus() with args: []
[debug] [AppiumDriver@53b3] Responding to client with driver.getStatus() result: {"build":{"version":"2.0.0-beta.66"}}
[HTTP] <-- GET /status 304 1 ms - -
[HTTP]
[HTTP] --> GET /sessions
[HTTP] {}
[debug] [AppiumDriver@53b3] Calling AppiumDriver.getSessions() with args: []
[debug] [AppiumDriver@53b3] Responding to client with driver.getSessions() result: []
[HTTP] <-- GET /sessions 304 2 ms - -
Im trying to run test on real iOS Device (which was used by Appium 1 already - so was working before the upgrade)
Driver Initialisation:
XCUITestOptions options = new XCUITestOptions();
options.setPlatformName(Platform.IOS.name());
options.setPlatformVersion(device.getPlatformVersion());
options.setDeviceName(device.getName());
options.setUdid(device.getUdid());
options.setBundleId("MY_BUNDLE_ID");
options.setXcodeCertificate(new XcodeCertificate("GY9QC33CMS", "Apple Development"));
options.setAutomationName(AutomationName.IOS_XCUI_TEST);
options.setIncludeSafariInWebviews(true);
IOSDriver driver = new IOSDriver(new URL("http://127.0.0.1:4723"), options);
When Im trying to use Appium Inspector it is possible to attach to the device but first, I have to run WebDriverAgentRunner application on my iOS Device, without that it will not work. Even when WDA Runner was launched and Im trying to start tests, the connection is still not working.
My Pom:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
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>GROUP_ID</groupId>
<artifactId>Integration_Tests</artifactId>
<version>1.0.0-SNAPSHOT</version>
<properties>
<encoding>UTF-8</encoding>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<serenity.version>3.3.10</serenity.version>
<cucumber.version>7.11.0</cucumber.version>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<byte-buddy.version>1.11.9</byte-buddy.version>
<rest-assured.version>5.1.1</rest-assured.version>
<maven.compiler.plugin.version>3.8.1</maven.compiler.plugin.version>
<selenium.version>4.5.2</selenium.version>
<aspectj.version>1.9.6</aspectj.version>
<appium.version>8.2.0</appium.version>
<java-jwt.version>3.19.2</java-jwt.version>
<allure-maven.version>2.10.0</allure-maven.version>
<slf4j-simple.version>1.7.32</slf4j-simple.version>
<junit.version>4.13.2</junit.version>
<assertj.version>3.20.2</assertj.version>
<lombok.version>1.18.20</lombok.version>
<json-simple.version>1.1.1</json-simple.version>
<gson.version>2.8.7</gson.version>
<allure.version>2.22.0</allure.version>
<jackson.version>2.12.4</jackson.version>
<ashot.version>1.5.4</ashot.version>
<google-zxing.version>3.3.0</google-zxing.version>
<maven-assembly-plugin.version>2.3</maven-assembly-plugin.version>
<maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
<webdriver-manager.version>5.3.0</webdriver-manager.version>
<jgit.version>6.3.0.202209071007-r</jgit.version>
<!-- Spring - CallbackService -->
<spring.boot.version>2.5.4</spring.boot.version>
<tomcat.embed.version>9.0.52</tomcat.embed.version>
<spring.web.version>5.3.9</spring.web.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>bom</artifactId>
<version>2.17.46</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-cucumber</artifactId>
<version>${serenity.version}</version>
</dependency>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-core</artifactId>
<version>${serenity.version}</version>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>${rest-assured.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>json-path</artifactId>
<version>${rest-assured.version}</version>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>xml-path</artifactId>
<version>${rest-assured.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j-simple.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>${assertj.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
<!-- Choose one if possible and remove other one -->
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>${json-simple.version}</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>${gson.version}</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>${selenium.version}</version>
</dependency>
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-cucumber7-jvm</artifactId>
<version>${allure.version}</version>
</dependency>
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-rest-assured</artifactId>
<version>${allure.version}</version>
</dependency>
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-maven</artifactId>
<version>${allure-maven.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>ru.yandex.qatools.ashot</groupId>
<artifactId>ashot</artifactId>
<version>${ashot.version}</version>
</dependency>
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>${appium.version}</version>
<exclusions>
<exclusion>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-remote-driver</artifactId>
</exclusion>
<exclusion>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-support</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>${google-zxing.version}</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>${google-zxing.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>${maven-assembly-plugin.version}</version>
</dependency>
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>${java-jwt.version}</version>
</dependency>
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>${webdriver-manager.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3</artifactId>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>sso</artifactId>
<version>2.17.46</version>
</dependency>
<dependency>
<groupId>org.eclipse.jgit</groupId>
<artifactId>org.eclipse.jgit</artifactId>
<version>${jgit.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.web.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>${spring.boot.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>logback-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring.boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
<version>${spring.boot.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>${tomcat.embed.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.web.version}</version>
</dependency>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-spring</artifactId>
<version>3.2.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<version>5.8.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-maven</artifactId>
<version>${allure-maven.version}</version>
<configuration>
<reportVersion>2.18.0</reportVersion>
<installDirectory>${basedir}/target</installDirectory>
<allureDownloadUrl>
https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.18.0/allure-commandline-2.18.0.zip
</allureDownloadUrl>
<resultsDirectory>${basedir}/target/report/allure-results</resultsDirectory>
<reportDirectory>${basedir}/target/allure-report</reportDirectory>
<inputDirectories>${basedir}/target/report/allure-results</inputDirectories>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.plugin.version}</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<argLine>
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
-Dcucumber.options="--plugin io.qameta.allure.cucumber7jvm.AllureCucumber7Jvm"
</argLine>
<!-- <rerunFailingTestsCount>1</rerunFailingTestsCount>-->
<systemPropertyVariables>
<allure.results.directory>target/report/allure-results
</allure.results.directory>
</systemPropertyVariables>
</configuration>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>net.serenity-bdd.maven.plugins</groupId>
<artifactId>serenity-maven-plugin</artifactId>
<version>${serenity.version}</version>
<executions>
<execution>
<id>serenity-reports</id>
<phase>post-integration-test</phase>
<goals>
<goal>aggregate</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>${maven-assembly-plugin.version}</version>
<configuration>
<descriptor>src/main/assembly/assembly.xml</descriptor>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<archive>
<manifest>
<mainClass>com.idemia.pivt.TestRunner</mainClass>
</manifest>
</archive>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/test/resources</directory>
</resource>
</resources>
</build>
</project>
I tried many things and always failed to run some tests. The same for Android Device and also regular Selenium Driver is not starting any browser. At the moment the most important thing is to fix Appium to unblock native mobile tests
BR
Mateusz
PS
Im not able to register or login to discuss Appium forum. All options are not working for me (email, GitHub, google) that's why Im asking for support here
Expected Behavior
Java-client 8 can connect to local Appium server 2
Minimal Reproducible Example
Already put at actual behaviour section
Environment
- Operating system: macOS
- If running via
appiumCLI...- Appium CLI version (output of
appium --version): 2.0.0-beta.66 - Node.js version (output of
node --version): v19.7.0 npmversion (output ofnpm --version): 9.5.0- Last
appiumversion which did not exhibit the problem: Appium 1
- Appium CLI version (output of
- If running Appium Desktop, its version: n/a
- Appium driver(s) and their version(s):
[email protected] [installed (npm)]
[email protected] [installed (npm)] - Appium plugin(s) and their version(s):
[email protected] [installed (npm)]
[email protected] [installed (npm)] - Platform and version under test:
iOS 16.4.1 - Real device or emulator/simulator:
Real iPhone 13
Link to Appium Logs
No response
Futher Information
No response
- Ngôn ngữ chính
- Java
- Star
- 1.3k
- Fork
- 755
- Merge trung bình
- 5 ngày 14 giờ
- Pull request đã merge (30 ngày)
- 8
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của appium/java-client
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
appium/java-client#2426 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 50/100
appium/java-client#2372 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 30/100
appium/java-client#2368 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 30/100
appium/java-client#2341 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 15/100
appium/java-client#2323 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của appium/java-client
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
checkstyle/checkstyle#21755 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày
-
agentic-workflows
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
github/copilot-sdk#2782 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Make docs website more visibleĐang mởdocumentation Good for newcomer quick win
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
CodeForPhilly/benefit-decision-toolkit#519 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area-deployment triage:bot-seen triage:needs-human
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
microsoft/aspire#20533 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày