Appium не распознает мой accessibility_id? - PullRequest
0 голосов
/ 10 января 2019

Я успешно использовал это пошаговое руководство https://www.appcoda.com/automated-ui-testing-appium/, чтобы понять, как работает appium. Теперь я хотел бы использовать этот процесс для тестирования моего личного приложения, однако я получаю сообщение об ошибке ниже из командной строки при запуске appium на моем скрипте Python. Я пытаюсь проверить, существует ли usernameTextField в пользовательском интерфейсе моих приложений.

Сообщение об ошибке:

>       usernameTextField = self.driver.find_element_by_accessibility_id('usernameTextField')

response = {'status': 404, 'value': '{"value":{"error":"no such             element","message":"An element could not be located on the page u....doNativeFind (/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/lib/commands/find.js:130:13)"}}'}

> raise wde
E               NoSuchElementException: Message: An element could not be located on the page using the given search parameters.

Мой скрипт на Python:

import unittest
import os
from random import randint
from appium import webdriver
from time import sleep
from selenium.webdriver.common.keys import Keys

class LoginTests(unittest.TestCase):

    def setUp(self):

        app = ('/Users/ross/Desktop/gameApp/build/Release-iphonesimulator/GameApp.app')
        self.driver = webdriver.Remote(
            command_executor='http://127.0.0.1:4723/wd/hub',
            desired_capabilities={
                'app': app,
                'platformName': 'iOS',
                'platformVersion': '12.1',
                'deviceName': 'iPhone XR',
                'bundleId':'com.brian.gameApp'
            }
        )

   def tearDown(self):
        self.driver.quit()

    def testInstitutionField(self):
        sleep(3)
        usernameTextField =     self.driver.find_element_by_accessibility_id('usernameTextField')
        institutionField.send_keys('Name')
        institutionField.send_keys(Keys.RETURN)
        sleep(1)
        self.assertEqual(usernameTextField.get_attribute("value"), 'Name')

if __name__ == '__main__':
    suite = unittest.TestLoader().loadTestsFromTestCase(LoginTests)
    unittest.TextTestRunner(verbosity=2).run(suite)

Как я установил элемент в объекте C

self.usernameTextField.isAccessibilityElement = YES;
self.usernameTextField.accessibilityIdentifier = @"usernameTextField";

Я попытался установить accessibilityIdentifier как в коде, так и на раскадровке в соответствии с пошаговым описанием, но, похоже, оба не работают.

Симулятор в настоящее время открывается и работает, однако не может найти элемент, указанный в сценарии / тесте.

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