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