testproject python sdk tutorial
Водич за ТестПројецт Питхон СДК: Надопуните постојеће тестове засноване на селену и апијумуОвај водич ће вам помоћи да започнете са ТестПројецт Питхон СДК. Научите да инсталирате, конфигуришете и користите најмоћније функције СДК-а:
Селен и Аппиум су годинама међу најпопуларнијим оквирима за тестирање отвореног кода за прегледаче на радној површини и тестирање засновано на мобилним уређајима.
Тхе ТестПројецт Питхон СДК надовезује се на ове алате и пружају вам снагу платформе ТестПројецт, пружајући вам прелепе ХТМЛ и ПДФ извештаје на њиховим платформама за извештавање, аутоматско откривање прегледача, конфигурацију управљачког програма и још много тога.
А најбоља ствар је што је коришћење платформе ТестПројецт и СДК потпуно бесплатно, заувек. СДК је такође отворени извор, па ако желите да допринесете пројекту, можете!
Шта ћете научити:
Шта је ТестПројецт Питхон СДК?
У овом упутству ћете видети како започети са ТестПројецт Питхон СДК, како искористити платформу ТестПројецт са постојећим тестовима заснованим на селенијуму и апијуму, као и како користити неке од најснажнијих функција СДК-а.
Белешка : Да ли су ваши тестови написани на језику који није Питхон? Не брините, ТестПројецт нуди и СДК-ове за Јаву и Ц #, а у блиској будућности долази још језика.
Инсталација и конфигурација
=> Посетите ову страницу за бесплатну регистрацију за ТестПројецтПитхон СДК је доступан на ПиПИ , индекс пакета Питхон. Овде претпостављамо да имате исправну инсталацију Питхон-а, све што треба да урадите је да инсталирате СДК и за то треба да покрените следећу команду:
pip install testproject-python-sdk
Ово ће инсталирати СДК и његове потребне зависности, укључујући Селениум и Питхон Аппиум клијент.
Пре него што почнемо да користимо СДК, морамо да урадимо још две ствари.
# 1) Инсталирајте и конфигуришите ТестПројецт Агент на вашем рачунару:
Агент ТестПројецт одговоран је за инсталацију и конфигурацију управљачког програма прегледача, као и за слање извештаја које генерише СДК на платформу ТестПројецт.
Након што направите налог на ТестПројецт платформу (опет ово је бесплатно), можете да преузмете свог агента.
Након преузимања, мораћете да га инсталирате и покренете. По дефаулту, Агент ради даље хттп: // лоцалхост: 8585. Ако желите да покренете Агента на другом порту или чак на сасвим другој машини, то није проблем. У овом случају, све што треба да урадите је да одредите тачну адресу агента у променљивој окружења ТП_АГЕНТ_УРЛ да СДК зна где ради.
# 2) Набавите и конфигуришите токен програмера:
Да бисте комуницирали са агентом, требат ће вам и токен програмера. Након инсталирања Агента, свој развојни токен можете добити са локације платформе ТестПројецт, као што је приказано на доњој слици.
Наведите свој токен програмера у променљивој окружења ТП_ДЕВ_ТОКЕН да СДК буде свестан тога. Као алтернативу, можете га одредити као аргумент када креирате нову сесију управљачког програма, јер ћемо то видети мало касније.
Након што преузмете СДК, инсталирате, конфигуришете и покренете агент, добијете и конфигуришете свој токен програмера, спремни сте за рад.
Израда нашег првог тестаПројектни тест селена
Претпоставимо да имамо тест заснован на селенијуму који води до демо апликације ТестПројецт. Пружа акредитиве за пријаву и провере које нас поздрављају како бисмо указали да је акција пријављивања успешно завршена. Претпоставимо такође да за покретање овог теста и извршавање тврдњи користимо Питест оквир за јединствено тестирање.
Такав тест може изгледати отприлике овако:
from selenium import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome() driver.get('https://example.testproject.io/web/') driver.find_element_by_id('name').send_keys('John Smith') driver.find_element_by_id('password').send_keys('12345') driver.find_element_by_id('login').click() assert driver.find_element_by_id('greetings').is_displayed() is True driver.quit()
Горњи пример користи Цхроме као прегледач. Поред Цхроме-а, СДК подржава и следеће прегледаче на радној површини:
- Фирефок
- Ивица
- интернет претраживач
- Сафари
У овом примеру нисмо користили ниједан образац апстракције који је уобичајен у тестовима заснованим на селенијуму, као што су Паге Објецтс, али ако их користите, то уопште није проблем. У ствари, ми га препоручујемо, јер ово ствара јасну одвојеност између вашег пробног тока (радње, подаци о тестирању) и детаља о имплементацији ваших веб страница (локатори елемената).
Након завршетка свих горе приказаних корака за инсталацију и конфигурацију, све што је потребно да бисте овај тест претворили у тест који покреће ТестПројецт је заменити изјаву о увозу како је објашњено у наставку.
from selenium import webdriver
Освежите се са овим:
from src.testproject.sdk.drivers import webdriver
То је то! Када једном покренете тест, СДК ће затражити инстанцу управљачког програма од агента ТестПројецт и користити је за извршење теста. Такође ће послати упутства за извештавање платформи ТестПројецт, која се затим користе за креирање ХТМЛ извештаја. Погледајмо их!
Преглед извештаја на платформи ТестПројецт
Преласком на ТестПројецт и одабиром опција „Извештаји“ из менија можете видети да је створен нови извештај за тест који смо управо покренули. Погледајте доњу слику.
како пронаћи мрежни безбедносни кључ за ВиФи
Као што видите, СДК је аутоматски закључио назив пројекта ( софтваре_тестинг_хелп ), назив посла ( примери ) и назив теста ( тест_логин_то_тестпројецт_екампле_апп ) и користио их приликом креирања извештаја. Ово је подржано и за Питест и за Униттест, као и за тестове који се не изводе помоћу наменског оквира за јединствено тестирање.
Видећемо како да одредимо прилагођени назив пројекта, посла и теста, као и бројне друге корисне опције извештавања у следећем одељку.
Све команде возача извршене током теста аутоматски се додају у извештај, заједно са њиховим резултатима. ТестПројецт такође генерише прегледе и контролне табле из кутије.
Извештавање о могућностима прилагођавања помоћу ТестПројецт-а
Иако ТестПројецт генерише богате и употребљиве извештаје из кутије, постоји неколико начина на које их можете прилагодити тако да још боље одговарају вашим захтевима за информацијама.
Као што смо видели у претходном примеру, ТестПројецт може аутоматски да изводи називе пројеката, послова и тестова за најпопуларније Питхон оквире за тестирање јединица. Међутим, ако желите да користите прилагођена имена у извештајима, то се може учинити и на два различита начина.
# 1) Коришћење декоратера
ТестПројецт СДК такође садржи а @извештај декоратор који можете користити за украшавање метода испитивања и који можете користити за наведите прилагођена имена пројеката, послова и тестова као што је приказано доле:
from src.testproject.sdk.drivers import webdriver from src.testproject.decorator import report @report(project='Software Testing Help', job='SDK Examples', test='Login Test') def test_login_to_testproject_example_app(): driver = webdriver.Chrome() # the rest of the test method remains unchanged
Када покренемо ову украшену методу испитивања и прегледамо извештаје, можемо видети да су наведена имена коришћена у генерисаном извештају, уместо аутоматски закључених.
# 2) Навођење имена пројеката и послова у конструктору управљачког програма и ручно пријављивање теста:
Имена пројеката и послова такође се могу надјачати специфицирањем у конструктору објекта управљачког програма. То се може учинити на следећи начин:
from src.testproject.sdk.drivers import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome(projectname='Software Testing Help', jobname='SDK Examples') # the rest of the test method remains unchanged
Ако желите да замените аутоматски изведено име теста, можете га пријавити ручно на крају теста, овако:
from src.testproject.sdk.drivers import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome(projectname='Software Testing Help', jobname='SDK Examples') driver.get('https://example.testproject.io/web/') driver.find_element_by_id('name').send_keys('John Smith') driver.find_element_by_id('password').send_keys('12345') driver.find_element_by_id('login').click() assert driver.find_element_by_id('greetings').is_displayed() is True driver.report().test(name='Login Test', passed=True) driver.quit()
Ако одлучите да користите опцију ручног извештавања, требало би да онемогућите аутоматско извештавање о тестовима (што је подразумевано омогућено) како бисте се уверили да се тестови не пријављују два пута, што би оштетило ваш извештај и контролне табле.
Можете онемогућити аутоматско извештавање помоћу следеће команде:
from src.testproject.sdk.drivers import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome() driver.report().disable_auto_test_reports(disabled=True) # the rest of the test method remains as above
Ово ће учинити да извештај изгледа потпуно исто као последњи снимак екрана горе.
# 3) Онемогућавање извештавања о командама управљачких програма
Ако не желите да ваш извештај садржи сваку појединачну команду управљачког програма која је извршена током теста, можете онемогућити аутоматско извештавање о њима на следећи начин:
from src.testproject.sdk.drivers import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome() driver.report().disable_command_reports(disabled=True) # the rest of the test method remains unchanged
Такође можете поново омогућити извештавање о наредбама управљачког програма касније у тестовима поновним позивањем исте методе, али са аргументом дисаблед = Фалсе.
Ако и даље желите да пријавите неке посредне кораке током теста, можете и то:
from src.testproject.sdk.drivers import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome() driver.report().disable_command_reports(disabled=True) driver.report().step(description='An intermediate step', message='A custom message', passed=True, screenshot=True) # here goes the rest of the test method
Као што видите, можете чак и да додате снимке екрана у кораке прилагођеног извештаја. Они ће бити аутоматски интегрисани у ХТМЛ извештај на платформи ТестПројецт.
ТестПројецт СДК нуди више опција за даље прилагођавање извештавања. Погледајте званичну документацију на веб локацији ТестПројецт, ГитХуб или ПиПИ за потпун преглед.
Покретање тестова заснованих на Аппиум-у помоћу ТестПројецт-а
Поред тестова заснованих на селенијуму, ТестПројецт СДК такође може да покреће тестове на мобилним уређајима који користе Аппиум. Размотрите овај пример, покретање против изворне Андроид апликације на емулатору:
from appium import webdriver def test_native_android_app(): desired_capabilities = { 'appActivity': 'io.testproject.demo.MainActivity', 'appPackage': 'io.testproject.demo', 'udid': '', 'browserName': '', 'platformName': 'Android', } driver = webdriver.Remote(desired_capabilities=desired_capabilities) driver.find_element_by_id('name').send_keys('John Smith') driver.find_element_by_id('password').send_keys('12345') driver.find_element_by_id('login').click() assert driver.find_element_by_id('greetings').is_displayed() driver.quit()
Да овде користимо снагу платформе ТестПројецт, опет, само се морамо променити
from appium import webdriver
До:
from src.testproject.sdk.drivers import webdriver
И добро је да кренемо. ТестПројецт Агент такође делује као Аппиум сервер, тако да више нема потребе да то сами покрећете на машини која изводи ваше тестове.
Све горе описане функције извештавања такође су доступне за тестове засноване на Аппиум-у.
СДК подржава покретање тестова за мобилне уређаје:
- За Андроид као и иОС.
- На емулаторима као и на стварним уређајима.
- На изворним апликацијама, као и на мобилним прегледачима
Примери свега тога могу се наћи у спремишту СДК кода на ГитХуб-у.
Закључак
Као што сте видели у овом водичу, ТестПројецт Питхон СДК вам може помоћи да допуните постојеће тестове засноване на селенијуму и апијуму уклањањем послова конфигурисања управљачких програма прегледача и сервера Аппиум и генерише сјајне ХТМЛ извештаје и контролну таблу за вас платформа ТестПројецт.
Најбоље од свега је што је ТестПројецт Питхон СДК апсолутно бесплатан.
=> Крените на ТестПројецт да бисте га сами испробали !
О аутору: Бас Дијкстра
Аутор подучава компаније широм света како да побољшају своје напоре на тестирању помоћу аутоматизације тестова. Независни је тренер, саветник и програмер који живи у Холандији. У слободно време воли да се вози бициклом, трчи или чита добру књигу.
Препоручено читање
- Водич за практични преглед алата за аутоматизацију теста ТестПројецт
- Питхон процес увођења и инсталације
- Направите тестове Аппиум за апликацију за Андроид
- Питхон Водич за почетнике (Практични БЕСПЛАТНИ Питхон тренинг)
- Покретање тестова Аппиум-а паралелно помоћу Аппиум Студио-а за Ецлипсе
- Креирање тестова епоха помоћу епоцхс Студио за Ецлипсе
- Како паралелно покренути велико извршавање тестова на апијуму
- Интегришите се у свој ИДЕ да бисте покренули своје тестове на Аппиум-у