Show Menu
Cheatography

Calabash Android Cheat Sheet by

Calabash Android Cheat List

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:'te­st_­id'­") - показать опреде­ленный элемент
query(­"* id:'te­st'­", :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­:'#­{ex­pec­ted­_ma­rk}­'")

Touch

touch(­uiq­uery, option­s={})
Выполнить нажатие на элемент
tap_ma­rk(­uiq­uery)
Выполнить нажатие на элемент
Примеры:
touch(­"* marked­:'S­ave­'")
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­:'S­ave­'").size > 0 }
wait_f­or(­:ti­meout => 5) { elemen­t_e­xis­ts(­"­button marked­:'S­ave­'") }
wait_f­or(­:ti­meout => 30) do
res = query(­"­che­ckbox marked­:'G­eotag Posts'­", 'checked')
res.first == true
end
wait_f­or_­ele­men­ts_­exist( "* marked­:'P­lease sign in'", :timeout => 10)
wait_f­or_­ele­men­ts_­exist( ["button marked­:'S­ave­'", "* marked­:'P­lease sign in'"], :timeout => 2)
 

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.