Я получаю сообщение об ошибке при объявлении объекта страницы в тестовом классе, как показано в коде ниже. Когда я объявляю объект страницы в тестовом методе, он работает отлично, что я считаю неправильным.
package test;
import org.junit.jupiter.api.DisplayName;
import org.testng.Assert;
import org.testng.annotations.Test;
import screens.SmlHomeScreen;
public class LoginTest extends BaseTest {
SmlHomeScreen smlHomeScreen = new SmlHomeScreen();
@Test
@DisplayName("Should login to App successfully")
public void loginTest() throws InterruptedException {
loginScreen.signIn(configProperty.getUsername(), configProperty.getPassword());
Assert.assertTrue(smlHomeScreen.getSmlScreenContent().isDisplayed());
}
}
Я получаю эту ошибку: «При обработке команды произошла неизвестная ошибка на стороне сервера. Исходная ошибка: «POST /element» не может быть перенаправлен на сервер UiAutomator2, поскольку процесс инструментирования не работает (вероятно, произошел сбой). Для получения более подробной информации проверьте журнал сервера и/или вывод logcat."
org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
Build info: version: '4.25.0', revision: '8a8aea2337'
System info: os.name: 'Mac OS X', os.arch: 'aarch64', os.version: '14.6', java.version: '23'
**But if I declare it in the test method like below, it worked perfectly**
package test;
import org.junit.jupiter.api.DisplayName;
import org.testng.Assert;
import org.testng.annotations.Test;
import screens.SmlHomeScreen;
public class LoginTest extends BaseTest {
@Test
@DisplayName("Should login into App successfully")
public void loginTest() throws InterruptedException {
loginScreen.signIn(configProperty.getUsername(), configProperty.getPassword());
SmlHomeScreen smlHomeScreen = new SmlHomeScreen();
Assert.assertTrue(smlHomeScreen.getSmlScreenContent().isDisplayed());
}
}
**I also tried to declare all the pages in my BaseTest as below**
package test;
import org.junit.jupiter.api.BeforeAll;
import org.testng.annotations.*;
import screens.HomeScreen;
import screens.LoginScreen;
import screens.SmlHomeScreen;
import utils.ConfigProperty;
import utils.Driver;
public class BaseTest extends Driver {
protected LoginScreen loginScreen;
protected ConfigProperty configProperty
protected HomeScreen homeScreen;
protected SmlHomeScreen smlHomeScreen;
@BeforeMethod
public void preTest() {
LoginScreen = new LoginScreen()
homeScreen = new HomeScreen()
smlHomeScreen = new SmlHomeScreen()
configProperty = new ConfigurProperty().
}
I am getting the same error as before. This is a webdriver exception, and I am finding it difficult to fix this. Please help
org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
Build info: version: '4.25.0', revision: '8a8aea2337'
System info: os.name: 'Mac OS X', os.arch: 'aarch64', os.version: '14.6', java.version: '23'
Driver info: io.appium.java_client.android.AndroidDriver
Command: [084af3d7-627c-40e7-af94-c26e0b032d37, findElement {using=-android uiautomator, value=new UiSelector().text("Login").instance(1)}]
Подробнее здесь: https://stackoverflow.com/questions/791 ... ror-appium