Uiautomation iPhone: возможно ли сегментировать сценарий на несколько файлов
-
28-10-2019 - |
Вопрос
Я хочу написать тесты на uiautomation (на основе JavaScript) для довольно сложного приложения для iPhone. Я не хочу использовать один огромный файл, но чтобы разделить функции тестирования и помощников, используя несколько файлов. Это вообще возможно? Как вы структурируете свои тесты на UIAutomation?
Решение
Привет.
Да, это так. Несмотря на то что import
Ключевое слово не реализовано для JS в браузерах, оно реализовано в инструментах. Вы просто пишете #import "somefile.js"
В файле «Master» JS, который вы запускаете с инструментами. Я не пытался включить файл из мест, отличных от оригинального файла, который вы предоставляете для инструментов, но под папки для этого места работы.
Посмотрите следующий пример на основе эта почта:
#import "fileInTheSameDirectory.js"
#import "SubDirectory/fileInSubDirectory.js"
Другие советы
UIAutomation не может обрабатывать большие файлы сценария, которые вы можете получить с помощью ваших тестов, вспомогательных функций и т. Д. - используя #include
директива. Тем не менее, это единственный способ, которым вы можете вручную запустить несколько тестов, хранящихся в отдельных файлах.
Я столкнулся с этой проблемой при создании небольших (600-700 строк или 25 КБ кода) JS Framework, которая способна запускать тестовые наборы и наборы.
Тестовая структура, которую я придумал:
#import "test_scripts.js"
#import "test_data.js"
#import "helper_tools.js"
tools.runTestSet(TestContainer);
Где TestContainer
является ссылкой на объект, удерживающий все мои тестовые примеры в качестве его полей/участников. А также test_data.js
Инкапсулирует данные в контейнере JSON.
PS сначала я думал, что UIAutomation имеет большой потенциал, но со временем я разочаровался. Вы не можете запустить полные циклы автоматизации, используя этот инструмент. Кроме того, имейте в виду, что он предоставляет вам API для работы только с пользовательским интерфейсом: нет доступа к процессам «движения».