下面的文章将帮助您在使用Katalon Studio进行web自动化测试时排除一些问题。
一、Timed out waiting for driver server to start 超时等待驱动服务器启动
根本原因:使用当前Edge driver不兼容的问题
解决方案:
- 从这个页面下载正确的Edge driver:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
基于你的操作系统, - 复制下载的Edge driver,并将其替换到Katalon Studio现有的edgedriver文件夹中,例如: C:\Katalon_Studio_Windows_64-4.8\configuration\resources\drivers\edgedriver
二、Unable to record on Internet Explorer 无法在Internet Explorer中记录
根本原因:Internet Explorer上的附加组件没有打开。
解决方案:
- 在Internet Explorer中打开“管理附件”(‘Manage Add-ons’)
https://support.microsoft.com/en-us/help/17447/windows-internet-explorer-11-manage-add-ons - 打开RecorderExtension.RecorderBHO
三、Unable to connect to Katalon server 无法连接到Katalon服务器
根本原因:Windows防火墙阻塞了Katalon Studio和浏览器驱动程序之间的连接
解决方案:您需要允许以下.exe文件:
- geckodriver.exe
- chromedriver.exe
- iedriverserver.exe
通过Windows防火墙进行通信。下面是访问该接口的完整指南。
这些可执行文件可以位于:**\\配置\\ \资源\\ \驱动程序** **\\configuration\\resources\\drivers**
在最坏的情况下,如果当前的Windows防火墙也阻止它们,您可能还需要添加谷歌Chrome (Chrome .exe)和Firefox (Firefox .exe)。
四、Use different browser versions 使用不同的浏览器版本
如果您希望Katalon Studio在当前安装的版本之外使用不同的版本,有两种方法:
- 使用自定义关键字 custom keywords
- 这些Firefox实例应该首先安装在您的机器上。
创建一个自定义关键字(custom keywords)来打开浏览器。按Ctrl + Shift + O自动导入所需包:
package com.example import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.openqa.selenium.chrome.ChromeOptions import org.openqa.selenium.firefox.FirefoxDriver import com.kms.katalon.core.annotation.Keyword import com.kms.katalon.core.webui.driver.DriverFactory public class WebUICustomKeywords { @Keyword def openFirefoxBrowser(String firefoxPath, String firefoxDriver) { //Set path to Firefox version System.setProperty("webdriver.firefox.bin", firefoxPath) //Set path to Firefox driver: <Katalon Studio folder>\configuration\resources\drivers\firefox_win64\geckodriver.exe System.setProperty("webdriver.gecko.driver", firefoxDriver) WebDriver driver = new FirefoxDriver() DriverFactory.changeWebDriver(driver) } @Keyword def openChromeBrowser(String chromeDriverPath, String chromePath) { //Set path to chromedriver driver: <Katalon Studio folder>\configuration\resources\drivers\chrome_win32\chromedriver.exe System.setProperty("webdriver.chrome.driver", chromeDriverPath) ChromeOptions options = new ChromeOptions() //Set path to Chrome binary options.setBinary(chromePath) WebDriver driver = new ChromeDriver(options) DriverFactory.changeWebDriver(driver) } }
- 在测试用例中,使用自定义关键字(custom keyword)而不是“Open Browser”关键字,例如:
CustomKeywords.'com.example.WebUICustomKeywords.openFirefoxBrowser'('C:\\Program Files\\Mozilla Firefox 52\\firefox.exe', 'C:\\5.4\\Katalon Studio Windows 64\\configuration\\resources\\drivers\\firefox_win64\\geckodriver.exe') WebUI.navigateToUrl(GlobalVariable.G_SiteURL) WebUI.click(findTestObject('Page_CuraHomepage/btn_MakeAppointment'))
- 降低浏览器的版本:
另一种方法是将当前浏览器的版本降级为您想要的版本。如果您想使用旧版本的浏览器,您可能需要降低或升级浏览器的驱动程序以及Selenium WebDriver,请参阅本指南:https://docs.katalon.com/display/KD/Update+or+Replace+Web+Browser+Drivers+and+Selenium