Uiautomation iPhone: возможно ли сегментировать сценарий на несколько файлов

StackOverflow https://stackoverflow.com/questions/5381449

Вопрос

Я хочу написать тесты на 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 для работы только с пользовательским интерфейсом: нет доступа к процессам «движения».

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top