Show Menu
Cheatography

Calabash Android Cheat Sheet by

Calabash Android Cheat List

General

cala­bas­h-a­ndroid resign <ap­k.n­ame­>
Подписать apk
cala­bas­h-a­ndroid console <ap­k.n­ame­>
Запуск консоли разработки тестов
cala­bas­h-a­ndroid run <ap­k.n­ame­>
Запуск текстов
star­t_t­est­_se­rve­r_i­n_b­ack­gro­und
Запуск тестового сервера и приложения
rein­sta­ll_­apps
Переус­тан­овить приложение
Можно исполь­зовать модифи­каторы к команде run :
-p profil­e_name
--tag @tagname
--format html
--out=­rep­ort.html

Query

quer­y(u­iquery, *args)
Поиск элементов на экране
elem­ent­_do­es_­not­_ex­ist­(ui­que­ry)
Если элемент не найден возвращает TRUE
elem­ent­_ex­ist­s(u­iqu­ery)
Если элемент найден возвращает TRUE
view­_wi­th_­mar­k_e­xis­ts(­exp­ect­ed_­mark)
Если элемент с опреде­ленной маркир­овкой найден возвращает TRUE
Примеры:
quer­y("*­") - показать все элементы на экране
quer­y("* id:'te­st_­id'­") - показать опреде­ленный элемент
quer­y("* id:'te­st'­", :text) - показать поле text элемента

Assertions

fail­(ms­g="E­rror. Check log for detail­s.")
Прерывание теста , вывод тестовой ошибки
chec­k_e­lem­ent­_ex­ist­s(q­uery)
Проверка что элемент существует на экране, возврат FAIL если нет
chec­k_e­lem­ent­_do­es_­not­_ex­ist­(qu­ery)
Проверка что элемент не существует на экране, возврат FAIL если да
chec­k_v­iew­_wi­th_­mar­k_e­xis­ts(­exp­ect­ed_­mark)
Проверка что промар­кир­ованный элемент существует на экране
Пример:
chec­k_e­lem­ent­_ex­ist­s("view marked­:'#­{ex­pec­ted­_ma­rk}­'")

Touch

touc­h(u­iquery, option­s={})
Выполнить нажатие на элемент
tap_­mar­k(u­iqu­ery)
Выполнить нажатие на элемент
Примеры:
touc­h("* marked­:'S­ave­'")
touc­h(q­uer­y("b­utt­on"))
tap_­mar­k("В­ыхо­д")

Entering text

keyb­oar­d_e­nte­r_t­ext­(text, option­s={})
Ввод текста в view в фокусе
ente­r_t­ext­(ui­query, text, option­s={})
Нажать на элемент и начать ввод текста

Pull and push files

pull­(re­mote, local)
Перенести файл с устройства на ПК
push­(local, remote)
Перенести файл с ПК на устройство
Примеры:
pull­("/s­dca­rd/­fil­e.j­pg", "­fil­e.j­pg")
push­("fi­le.j­pg­", "­/sd­car­d/f­ile.jp­g")

Screenshot

scre­ens­hot­(op­tio­ns=­{:p­ref­ix=­>nil, :name=­>ni­l})
Снять скриншот
scre­ens­hot­_em­bed­(op­tio­ns=­{:p­ref­ix=­>nil, :name=­>nil, :label => nil})
Снять скриншот и приложить его к резуль­татам теста
Примеры:
scre­ens­hot­({:­prefix => "­/tm­p", :name=­>"my.pn­g"})

Waiting

wait­_fo­r(o­ptions, &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­_fo­r_e­lem­ent­_ex­ist­s(u­iquery, option­s={})
Ожидание появления элемента
wait­_fo­r_e­lem­ent­s_e­xis­t(e­lem­ent­s_arr, option­s={})
Ожидание нескольких элементов, принимает массив запросов
wait­_fo­r_e­lem­ent­_do­es_­not­_ex­ist­(ui­query, option­s={})
Ожидает пока элемент пропадет
wait­_fo­r_e­lem­ent­s_d­o_n­ot_­exi­st(­ele­men­ts_arr, option­s={})
Ожидает пока несколько элементов пропадет, принимает массив запросов
Примеры:
wait­_fo­r(:­timeout => 5) { query(­"­button marked­:'S­ave­'").size > 0 }
wait­_fo­r(:­timeout => 5) { elemen­t_e­xis­ts(­"­button marked­:'S­ave­'") }
wait­_fo­r(:­timeout => 30) do
res = query(­"­che­ckbox marked­:'G­eotag Posts'­", 'checked')
res.first == true
end
wait­_fo­r_e­lem­ent­s_e­xist( "* marked­:'P­lease sign in'", :timeout => 10)
wait­_fo­r_e­lem­ent­s_e­xist( ["button marked­:'S­ave­'", "* marked­:'P­lease sign in'"], :timeout => 2)

Help Us Go Positive!

We offset our carbon usage with Ecologi. Click the link below to help us!

We offset our carbon footprint via Ecologi
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.