Calabash Android Cheat Sheet

Calabash Android Cheat List

6,456 views 2,230 downloads 26 Oct 2016 History
3.8 avg · 1 rating

General

calaba­sh-­android resign <ap­k.n­ame>
Подписать apk
calaba­sh-­android console <ap­k.n­ame>
Запуск консоли разработки тестов
calaba­sh-­android run <ap­k.n­ame>
Запуск текстов
start_­tes­t_s­erv­er_­in_­bac­kground
Запуск тестового сервера и приложения
reinst­all­_apps
Переус­тан­овить приложение
Можно исполь­зовать модифи­каторы к команде run :
-p profil­e_name
--tag @tagname
--format html
--out=­rep­ort.html

Query

query(­uiq­uery, *args)
Поиск элементов на экране
elemen­t_d­oes­_no­t_e­xis­t(u­iquery)
Если элемент не найден возвращает TRUE
elemen­t_e­xis­ts(­uiq­uery)
Если элемент найден возвращает TRUE
view_w­ith­_ma­rk_­exi­sts­(ex­pec­ted­_mark)
Если элемент с опреде­ленной маркир­овкой найден возвращает TRUE
Примеры:
query(­"") - показать все элементы на экране
query(­"
id:'­tes­t_i­d'") - показать опреде­ленный элемент
query(­"* id:'­tes­t'", :text) - показать поле text элемента

Assertions

fail(m­sg=­"­Error. Check log for detail­s.")
Прерывание теста , вывод тестовой ошибки
check_­ele­men­t_e­xis­ts(­query)
Проверка что элемент существует на экране, возврат FAIL если нет
check_­ele­men­t_d­oes­_no­t_e­xis­t(q­uery)
Проверка что элемент не существует на экране, возврат FAIL если да
check_­vie­w_w­ith­_ma­rk_­exi­sts­(ex­pec­ted­_mark)
Проверка что промар­кир­ованный элемент существует на экране
Пример:
check_­ele­men­t_e­xis­ts(­"view marked­:'#{­exp­ect­ed_­mar­k}'")

Touch

touch(­uiq­uery, option­s={})
Выполнить нажатие на элемент
tap_ma­rk(­uiq­uery)
Выполнить нажатие на элемент
Примеры:
touch(­"* marked­:'Sa­ve'")
touch(­que­ry(­"­but­ton­"))
tap_ma­rk(­"­Вых­од")

Entering text

keyboa­rd_­ent­er_­tex­t(text, option­s={})
Ввод текста в view в фокусе
enter_­tex­t(u­iquery, text, option­s={})
Нажать на элемент и начать ввод текста

Pull and push files

pull(r­emote, local)
Перенести файл с устройства на ПК
push(l­ocal, remote)
Перенести файл с ПК на устройство
Примеры:
pull("/­sdc­ard­/fi­le.j­pg­", "­fil­e.j­pg")
push("f­ile.jp­g", "­/sd­car­d/f­ile.jp­g")

Screenshot

screen­sho­t(o­pti­ons­={:­pre­fix­=>nil, :name=­>nil})
Снять скриншот
screen­sho­t_e­mbe­d(o­pti­ons­={:­pre­fix­=>nil, :name=­>nil, :label => nil})
Снять скриншот и приложить его к резуль­татам теста
Примеры:
screen­sho­t({­:prefix => "­/tm­p", :name=­>"my.pn­g"})

Waiting

wait_f­or(­opt­ions, &b­lock)
Ожидание элемента с модифи­кат­орами { :timeout => 10, #maximum number of seconds to wait :retry­_fr­equency => 0.2, #wait this long before retrying the block :post_­timeout => 0.1, #wait this long after the block returns true :timeo­ut_­message => "­Timed out waitin­g...", #error message in case option­s[:­tim­eout] is exceeded :scree­nsh­ot_­on_­error => true # take a screenshot in case of error }
wait_f­or_­ele­men­t_e­xis­ts(­uiq­uery, option­s={})
Ожидание появления элемента
wait_f­or_­ele­men­ts_­exi­st(­ele­men­ts_arr, option­s={})
Ожидание нескольких элементов, принимает массив запросов
wait_f­or_­ele­men­t_d­oes­_no­t_e­xis­t(u­iquery, option­s={})
Ожидает пока элемент пропадет
wait_f­or_­ele­men­ts_­do_­not­_ex­ist­(el­eme­nts­_arr, option­s={})
Ожидает пока несколько элементов пропадет, принимает массив запросов
Примеры:
wait_f­or(­:ti­meout => 5) { query(­"­button marked­:'Sa­ve'").size > 0 }
wait_f­or(­:ti­meout => 5) { elemen­t_e­xis­ts(­"­button marked­:'Sa­ve'") }
wait_f­or(­:ti­meout => 30) do
res = query(­"­che­ckbox marked­:'Geotag Posts'", '­che­cke­d')
res.first == true
end
wait_f­or_­ele­men­ts_­exist( " marked­:'Please sign in'", :timeout => 10)
wait_f­or_­ele­men­ts_­exist( ["button marked­:'Sa­ve'", "
marked­:'Please sign in'"], :timeout => 2)

Badges

Nice Cheat Sheet Good Cheat Sheet

Comments

No comments yet.

Cheatography n. The art of mapping complex subjects into clear, instantly navigable reference guides.