General
calabash-android resign <apk.name> |
Подписать apk |
calabash-android console <apk.name> |
Запуск консоли разработки тестов |
calabash-android run <apk.name> |
Запуск текстов |
start_test_server_in_background |
Запуск тестового сервера и приложения |
reinstall_apps |
Переустановить приложение |
Можно использовать модификаторы к команде run :
-p profile_name
--tag @tagname
--format html
--out=report.html
Query
query(uiquery, *args) |
Поиск элементов на экране |
element_does_not_exist(uiquery) |
Если элемент не найден возвращает TRUE |
element_exists(uiquery) |
Если элемент найден возвращает TRUE |
view_with_mark_exists(expected_mark) |
Если элемент с определенной маркировкой найден возвращает TRUE |
Примеры:
query("*") - показать все элементы на экране
query("* id:'test_id'") - показать определенный элемент
query("* id:'test'", :text) - показать поле text элемента
Assertions
fail(msg="Error. Check log for details.") |
Прерывание теста , вывод тестовой ошибки |
check_element_exists(query) |
Проверка что элемент существует на экране, возврат FAIL если нет |
check_element_does_not_exist(query) |
Проверка что элемент не существует на экране, возврат FAIL если да |
check_view_with_mark_exists(expected_mark) |
Проверка что промаркированный элемент существует на экране |
Пример:
check_element_exists("view marked:'#{expected_mark}'")
Touch
touch(uiquery, options={}) |
Выполнить нажатие на элемент |
tap_mark(uiquery) |
Выполнить нажатие на элемент |
Примеры:
touch("* marked:'Save'")
touch(query("button"))
tap_mark("Выход")
Entering text
keyboard_enter_text(text, options={}) |
Ввод текста в view в фокусе |
enter_text(uiquery, text, options={}) |
Нажать на элемент и начать ввод текста |
Pull and push files
pull(remote, local) |
Перенести файл с устройства на ПК |
push(local, remote) |
Перенести файл с ПК на устройство |
Примеры:
pull("/sdcard/file.jpg", "file.jpg")
push("file.jpg", "/sdcard/file.jpg")
Screenshot
screenshot(options={:prefix=>nil, :name=>nil}) |
Снять скриншот |
screenshot_embed(options={:prefix=>nil, :name=>nil, :label => nil}) |
Снять скриншот и приложить его к результатам теста |
Примеры:
screenshot({:prefix => "/tmp", :name=>"my.png"})
Waiting
wait_for(options, &block) |
Ожидание элемента с модификаторами { :timeout => 10, #maximum number of seconds to wait :retry_frequency => 0.2, #wait this long before retrying the block :post_timeout => 0.1, #wait this long after the block returns true :timeout_message => "Timed out waiting...", #error message in case options[:timeout] is exceeded :screenshot_on_error => true # take a screenshot in case of error } |
wait_for_element_exists(uiquery, options={}) |
Ожидание появления элемента |
wait_for_elements_exist(elements_arr, options={}) |
Ожидание нескольких элементов, принимает массив запросов |
wait_for_element_does_not_exist(uiquery, options={}) |
Ожидает пока элемент пропадет |
wait_for_elements_do_not_exist(elements_arr, options={}) |
Ожидает пока несколько элементов пропадет, принимает массив запросов |
Примеры:
wait_for(:timeout => 5) { query("button marked:'Save'").size > 0 }
wait_for(:timeout => 5) { element_exists("button marked:'Save'") }
wait_for(:timeout => 30) do
res = query("checkbox marked:'Geotag Posts'", 'checked')
res.first == true
end
wait_for_elements_exist( "* marked:'Please sign in'", :timeout => 10)
wait_for_elements_exist( ["button marked:'Save'", "* marked:'Please sign in'"], :timeout => 2)
|
Created By
Metadata
Favourited By
Comments
No comments yet. Add yours below!
Add a Comment