У меня есть собственное приложение, которое имеет идентификатор доступности, и я использую XPath с этим идентификатором доступности.Но когда я запускаю свой код, appium останавливается при поиске элемента, он не движется вперед, не дает никаких исключений, я уверен, что это не проблема синхронизации.Я пробовал с другими приложениями.работает нормально.только с этим приложением это происходит.Я поделюсь своим кодом и элементом.
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import io.appium.java_client.android.AndroidDriver;
public class BlackLotus{
static AndroidDriver driver;
@BeforeTest
public void setupAppium() throws Exception {
DesiredCapabilities capabilities = new DesiredCapabilities();
String devicename= Launch.devicename();
capabilities.setCapability("deviceName", devicename);
capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
capabilities.setCapability(CapabilityType.VERSION, "8.0");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("appPackage","com.rt.pinprickeffect.meditation.staging");d
capabilities.setCapability("appActivity", "com.rt.pinprickeffect.meditation.MainActivity");
driver = new AndroidDriver(new URL("http://127.0.0.1:5556/wd/hub"), capabilities);
}
@Test
public void Playdevotion() throws InterruptedException
{
Thread.sleep(15000);
WebElement ele = driver.findElement(By.xpath("//android.view.ViewGroup[@content-desc=\"MeditateWithOthersButton\"]"));
//driver.findElement)
Thread.sleep(2000);
ele.click();
}
И в appium процесс останавливается при поиске элемента.Вы можете увидеть журнал appium ниже.
[HTTP] --> POST /wd/hub/session/c6520f2b-ca79-4fc0-a555-3fbee6bc15ee/element [HTTP] {"using":"xpath","value":"//android.view.ViewGroup[@content-desc=\"MeditateWithOthersButton\"]"}
[MJSONWP] Calling AppiumDriver.findElement() with args: ["xpath","//android.view.ViewGroup[@content-desc=\"MeditateWithOthersButton\"]","c6520f2b-ca79-4fc0-a555-3fbee6bc15ee"]
[BaseDriver] Valid locator strategies for this request: xpath, id, class name, accessibility id, -android uiautomator [BaseDriver] Waiting up to 0 ms for condition
[AndroidBootstrap] Sending command to android: {"cmd":"action","action":"find","params":{"strategy":"xpath","selector":"//android.view.ViewGroup[@content-desc=\"MeditateWithOthersButton\"]","context":"","multiple":false}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {"cmd":"action","action":"find","params":{"strategy":"xpath","selector":"//android.view.ViewGroup[@content-desc=\"MeditateWithOthersButton\"]","context":"","multiple":false}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding '//android.view.ViewGroup[@content-desc="MeditateWithOthersButton"]' using 'XPATH' with the contextId: '' multiple: false
После этого журналы вообще не будут, и выполнение также застрянет здесь.только для приложения, которое я использую.другие работают нормально.
может кто-то помочь.Пожалуйста, прокомментируйте, если у вас есть вопросы по поводу вопросов.
Это от ispectors
<android.widget.FrameLayout>
<android.widget.LinearLayout>
<android.widget.FrameLayout resource-id="android:id/content">
<android.widget.FrameLayout>
<android.view.ViewGroup>
<android.view.ViewGroup>
<android.support.v4.widget.DrawerLayout>
<android.view.ViewGroup>
<android.view.ViewGroup>
<android.view.ViewGroup>
<android.view.ViewGroup>
<android.view.ViewGroup>
<android.view.View>
<android.view.ViewGroup content-desc="MeditateWithOthersButton">
<android.widget.ImageView>
<android.widget.TextView>
<android.view.ViewGroup content-desc="MeditateWithNowButton">
<android.widget.TextView>
<android.view.ViewGroup>
<android.view.ViewGroup>
<android.view.View resource-id="android:id/statusBarBackground">
<android.view.View resource-id="android:id/navigationBarBackground">