Android родное приложение - Как получить текст внутри класса android .view.view - PullRequest
1 голос
/ 27 февраля 2020

Я новичок и пытаюсь автоматизировать приложение. Я открываю страницу, на которой загружаются динамические c тексты (например, книга), в которой содержится следующий источник XML,

<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<hierarchy index="0" class="hierarchy" rotation="0" width="1080" height="1794">  
  <android.widget.FrameLayout index="0" package="name" class="android.widget.FrameLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1080,1794]" displayed="true">
    <android.view.ViewGroup index="0" package="name" class="android.view.ViewGroup" text="" resource-id="android:id/decor_content_parent" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1080,1794]" displayed="true">
      <android.widget.FrameLayout index="0" package="name" class="android.widget.FrameLayout" text="" resource-id="android:id/content" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1080,1794]" displayed="true">
        <android.widget.RelativeLayout index="0" package="name" class="android.widget.RelativeLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1080,1794]" displayed="true">
          <android.widget.RelativeLayout index="0" package="name" class="android.widget.RelativeLayout" text="" resource-id="name:id/main_reader_layout" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1080,1794]" displayed="true">
            <android.widget.FrameLayout index="0" package="name" class="android.widget.FrameLayout" text="" resource-id="name:id/animation_body" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1080,1794]" displayed="true">
              <android.widget.FrameLayout index="0" package="name" class="android.widget.FrameLayout" text="" resource-id="name:id/video_view_container" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1080,1794]" displayed="true" />
              <android.view.View index="1" package="name" class="android.view.View" text="" resource-id="name:id/highlight_link_view" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1080,1794]" displayed="true" />
              ***<android.view.View index="2" package="name" class="android.view.View" text="" resource-id="name:id/curl_ogl_view" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1080,1794]" displayed="true" />***
            </android.widget.FrameLayout>
            <android.widget.FrameLayout index="1" package="name" class="android.widget.FrameLayout" text="" resource-id="name:id/bookmark_region" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[972,0][1080,289]" displayed="true" />
            <android.widget.TextView index="2" package="name" class="android.widget.TextView" text="138 of 218" resource-id="name:id/reader_page_info" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,1798][1080,1920]" displayed="true" />
          </android.widget.RelativeLayout>
        </android.widget.RelativeLayout>
      </android.widget.FrameLayout>
    </android.view.ViewGroup>
  </android.widget.FrameLayout>
</hierarchy>

Где

class="android.view.View" text="" resource-id="name:id/curl_ogl_view"

содержит текст.

Я пытаюсь получить текст, а затем передать его в массив или строку. Пожалуйста, дайте мне знать, если я смогу получить текст на странице.

Пожалуйста, найдите пример кода,

WebElement viewContainer = (WebElement) driver.findElement(By.id("name:id/curl_ogl_view"));
String getTextfromView = ((WebElement)viewContainer).getText().toString();
System.out.println("length::::"+getTextfromView.length());
System.out.println("length::::"+getTextfromView);

Пожалуйста, найдите вывод при запуске вышеуказанного кода,

[RemoteTestNG] обнаружил TestNG версии 7.0.0 27 февраля 2020 13:18:10 io.appium.java_client.remote.AppiumCommandExecutor $ 1 lambda $ 0 ИНФОРМАЦИЯ: Обнаруженный диалект: W3 C Длина передачи :::: 0 длина :::: PASSED: texttest

==================================================== По умолчанию test

Выполнено тестов: 1, сбоев: 0, пропусков: 0

Пожалуйста, дайте мне знать, если требуется какая-либо другая информация.

1 Ответ

0 голосов
/ 28 февраля 2020

class = "android .view.View" text = "" resource-id = "name: id / curl_ogl_view"

Согласно вашему xmL из класса, который вы упомянули в вышеприведенная строка не содержит текста. попробуйте найти правильный элемент, который содержит текст. может быть, вы можете поделиться ссылкой или что-то для полного домена, это будет более полезным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...