Selenium3自動化測試【10】Katalon Studio的認知

Katalon Studio是一款功能強大的測試自動化解決方案,適用於Web應用程序,移動和Web服務。 基於Selenium和Appium框架構建,Katalon Studio利用這些解決方案實現集成軟件自動化。
在2018全球十大自動化測試工具中,Katalon超過了自動化測試工具UFT(HP的自動化測試工具)排名第二,僅次於你們熟知的Selenium(Selenium也是本教材講授的自動化工具),能夠說是實力新秀。更重要的是,Katalon號稱永久免費。
Katalon特色: web

  • 上手簡單,無需任何代碼基礎;
  • 圖像化界面操做,符合你們的使用習慣;
  • 開源,且功能強大,支持自動化錄製;也支持直接本身組裝自動化;也支持Java寫,Selenium經常使用的web頁面測試及分佈式執行等都是支持的;
  • 支持web和app。
    這裏主要講解下Katalon Recorder。Katalon Recorder是和Selenium IDE同樣的一個瀏覽器插件,能夠錄製web上的操做並回放。能夠在FireFox組件中下載。 Katalon Recorder將使您的測試自動化工做變得更加容易。

    Katalon Recorder的安裝

    (1) 打開火狐瀏覽器「工具」,選擇「附加組件」,如圖所示。
    Selenium3自動化測試【10】Katalon Studio的認知
    (2) 選擇「查看更多組件」,如圖所示。
    Selenium3自動化測試【10】Katalon Studio的認知
    (3) 在組件檢索框中,檢索Selenium-IDE,如圖所示。
    Selenium3自動化測試【10】Katalon Studio的認知
    (4) 檢索Selenium-IDE後,可在結果中看到Katalon Recorder,單擊該組件, 如圖所示。
    Selenium3自動化測試【10】Katalon Studio的認知
    (5) 單擊Katalon Recorder組件後,進入Katalon Recorder頁,單擊【添加到FireFox】,如圖所示。
    Selenium3自動化測試【10】Katalon Studio的認知
    (6) 添加過程當中,會出現Katalon Recorder權限的提示信息,單擊【添加(A)】,如圖所示。
    Selenium3自動化測試【10】Katalon Studio的認知
    (7) 安裝完畢Katalon Recorder後,在FireFox瀏覽器右上角會出現提示【Katalon Recorder已添加到FireFox】中,如圖所示。
    Selenium3自動化測試【10】Katalon Studio的認知
    (8) 單擊工具欄中的Katalon Recorder圖標,打開Katalon Recorder,界面如圖所示。
    Selenium3自動化測試【10】Katalon Studio的認知
    如今FireFox瀏覽器中打開bing首頁,Katalon Recorder界面中單擊Record,開始錄製, 如圖所示。
    Selenium3自動化測試【10】Katalon Studio的認知
    啓動錄製後,以bing搜索頁面中進行以下操做, 如圖所示:瀏覽器

  • 輸入Bella
  • 單擊搜素按鈕
  • 關閉瀏覽器
  • Katalon Recorder工具欄中單擊Stop
    Selenium3自動化測試【10】Katalon Studio的認知
    Katalon Recorder錄製的腳本以下,界面Selenium IDE類似。
    Katalon Recorder主界面主要分爲4部分:
    1. Main Toolbar
      工具欄,經常使用按鈕的展示,其中Export,能夠將錄製的腳本導出爲各類語言的腳本,而Selenium IDE是不能夠導出腳本的;右側指針圖標,能夠控制回放速度。
      錄製的時候,若是某些步驟不想錄制,能夠點Pause按鈕。若是你已經錄製完了,想在已錄製的腳本中再加一段操做,能夠單擊某行腳本,再點Record,將會把新的錄製操做插入到選擇行的上部。
    2. Test Case/ Suite Explorer
      測試套件/測試用例管理,記得錄製完後及時保存。
    3. Test Case Details View
      測試用例編輯區,錄製的腳本都會出如今這裏。
    4. Log/Reference/Variable
      回放時能夠經過查看Log來調試;reference顯示第3個區域選中命令的API,如圖所示。
      Selenium3自動化測試【10】Katalon Studio的認知
      Katalon Recorder工具欄中單擊{}Export,彈出輸出測試腳本窗口, 如圖所示。
      Selenium3自動化測試【10】Katalon Studio的認知
      輸出測試腳本窗口中,能夠選擇輸出測試腳本的語言,如Python2(WebDriver+uintest)。這裏雖然是Python2,可是也會給咱們提供很大參考意義,如圖所示。
      Selenium3自動化測試【10】Katalon Studio的認知
      當選擇了Python2(WebDriver+uintest)後,能夠看到將錄製的腳本過程,用Python代碼展示出來,單擊【Copy of Clipboard】能夠將代碼複製,從而將代碼粘貼到本身的IDE中(PyCharm等),方便進一步維護,如圖所示。
      Selenium3自動化測試【10】Katalon Studio的認知
      經過單擊【Copy of Clipboard】複製的代碼以下,能夠清晰的看到Katalon Recorder生成的代碼邏輯十分清晰明瞭。這些代碼,能夠給自動化工程師提供很大的幫助,自動化測試工程師能夠進行二次加工或直接使用。
 
 

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()框架

 
 

【全棧測試視頻課程】請點擊我哦.....分佈式

Selenium3自動化測試【10】Katalon Studio的認知

及時文章及交流,可關注公衆號
Selenium3自動化測試【10】Katalon Studio的認知ide

相關文章
相關標籤/搜索