Katalon Studio是一款功能強大的測試自動化解決方案,適用於Web應用程序,移動和Web服務。 基於Selenium和Appium框架構建,Katalon Studio利用這些解決方案實現集成軟件自動化。
在2018全球十大自動化測試工具中,Katalon超過了自動化測試工具UFT(HP的自動化測試工具)排名第二,僅次於你們熟知的Selenium(Selenium也是本教材講授的自動化工具),能夠說是實力新秀。更重要的是,Katalon號稱永久免費。
Katalon特色: web
(1) 打開火狐瀏覽器「工具」,選擇「附加組件」,如圖所示。
(2) 選擇「查看更多組件」,如圖所示。
(3) 在組件檢索框中,檢索Selenium-IDE,如圖所示。
(4) 檢索Selenium-IDE後,可在結果中看到Katalon Recorder,單擊該組件, 如圖所示。
(5) 單擊Katalon Recorder組件後,進入Katalon Recorder頁,單擊【添加到FireFox】,如圖所示。
(6) 添加過程當中,會出現Katalon Recorder權限的提示信息,單擊【添加(A)】,如圖所示。
(7) 安裝完畢Katalon Recorder後,在FireFox瀏覽器右上角會出現提示【Katalon Recorder已添加到FireFox】中,如圖所示。
(8) 單擊工具欄中的Katalon Recorder圖標,打開Katalon Recorder,界面如圖所示。
如今FireFox瀏覽器中打開bing首頁,Katalon Recorder界面中單擊Record,開始錄製, 如圖所示。
啓動錄製後,以bing搜索頁面中進行以下操做, 如圖所示:瀏覽器
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
import unittest, time, re架構
class UntitledTestCase(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
self.base_url = "https://www.katalon.com/"
self.verificationErrors = []
self.accept_next_alert = Trueapp
def test_untitled_test_case(self): driver = self.driver driver.get("https://cn.bing.com/") driver.find_element_by_id("sb_form_q").click() driver.find_element_by_id("sb_form_q").clear() driver.find_element_by_id("sb_form_q").send_keys("bella") driver.find_element_by_id("sb_form_go").click() driver.close() def is_element_present(self, how, what): try: self.driver.find_element(by=how, value=what) except NoSuchElementException as e: return False return True def is_alert_present(self): try: self.driver.switch_to_alert() except NoAlertPresentException as e: return False return True def close_alert_and_get_its_text(self): try: alert = self.driver.switch_to_alert() alert_text = alert.text if self.accept_next_alert: alert.accept() else: alert.dismiss() return alert_text finally: self.accept_next_alert = True def tearDown(self): self.driver.quit() self.assertEqual([], self.verificationErrors)
if name == "main":
unittest.main()框架
【全棧測試視頻課程】請點擊我哦.....分佈式
及時文章及交流,可關注公衆號ide