自动化测试系列之三:使用Katalon Recorder自动生成基于Selenium框架的测试代码

系列链接

自动化测试系列之一:使用SpecFlow+Selenium框架之理论介绍

自动化测试系列之二:使用SpecFlow+Selenium框架在Visual Studio上写自动化测试脚本

自动化测试系列之三:使用Katalon Recorder自动生成基于Selenium框架的测试代码

介绍

上一节说到有人提议用Selenium IDE,本人亲自试用了一下,发现不太好用,一是因为它不能export出代码,二是输入的参数是写死的,比如现在我输入的是hello world,可能我下次使用的时候,需要输入ABCD, 那是不是需要手工的去改这个值呢?基于这两个问题,所以决定弃用Selenium IDE。

自动化测试系列之三:使用Katalon Recorder自动生成基于Selenium框架的测试代码
 通常做自动化测试肯定离不开写代码的,但一开始就写代码对测试妹纸来说明显不和谐,有没有一种工具测试人员在浏览器上正常手工测试,这个插件会记录测试人员的动作自动生成相应的代码呢? 有,它叫Katalon Recorder,连接好v*n之后,点击这里下载,最后在Chrome浏览器上的插件是这样的

自动化测试系列之三:使用Katalon Recorder自动生成基于Selenium框架的测试代码

 点击这个工具后,弹出如下界面

自动化测试系列之三:使用Katalon Recorder自动生成基于Selenium框架的测试代码

点击Record,就可以开始录制你的第一个Test Case了,它会自动弹出Chrome浏览器,访问https://baidu.com, 输入Hello World 并点击搜索,在搜索列表中点击第一条记录,它会弹出Hello World百度百科的网页。 你手工测试的网页大概像下面这样。

自动化测试系列之三:使用Katalon Recorder自动生成基于Selenium框架的测试代码

 在Katalon Recorder中点击Stop后,就完成了录制,它会自动记录你的操作步骤,如下图

自动化测试系列之三:使用Katalon Recorder自动生成基于Selenium框架的测试代码

 如果你想重新运行一下这个Test Case的话,可以点击上面的Play,导出代码的话,点击Export,就可以看到自动生成的代码了。

自动化测试系列之三:使用Katalon Recorder自动生成基于Selenium框架的测试代码

大红框内的就是生成的代码,可以将它Copy到我们上一节创建的项目里面,但这里有一个问题,它产生的代码不能解决我们所有的问题,比如上面蓝色框内的代码就有问题,我们需要替换它,这一行代码的本意是:“当点击Hello World百度百科”链接后,浏览器会打开一个新的Tab来显示“Hello World百度百科”的网页,结果它扔给我们一段ERROR的代码,我们需要把它替换成像下面这样的代码:

IWebDriver driver = new ChromeDriver();
List<string> handlers = new List<string>();
foreach (string handle in driver.WindowHandles)
{
   //判断哪一个是被打开的页面
   //假定当前页面排在第一位,被打开的页面排在第二位
   handlers.Add(handle);

}
driver.SwitchTo().Window(handlers.ElementAt(1)); //定位到新打开的页面

如果是初学Selenium的人员的,上面的这段代码还是会有点懵逼,所以这个工具只是个辅助工具,帮你加速写代码而已,但真遇到问题,还需要踏实地学好Selenium的知识后才能解决。

今天就介绍到这里,加油。。。