robot framework使用SeleniumLibrary打开谷歌浏览器无头模式

注:我百度了一圈并没有发现类似的教程

robot  framework的seleniumLibrary一般打开浏览器的方式是用关键字

Open Browser

但是,阅读seleniumLibrary的源码后发现,并没有一个参数可以让我们指定无头模式,所以Open Browser做不到,除非修改源码。

 

 

 

这个时候,通过文档,找到了官方对于有需要传参数的需求,提供了一个关键字

Create Webdriver

 

 

我们可以自己创建一个Webdriver对象,既然是自己创建,那自然就可以跟selenium一样指定配置参数。

 

但是当我根据官方介绍的方式来创建对象时,却发现这种传参方式没有效果。

 

我们使用selenium打开无头模式时,需要创建一个Options对象,然后给add_argument函数赋值才可以做到。

 

当我学习官方介绍的传参方式时,发现根本不起作用,虽然没有报错,但是浏览器依旧是打开了。

 

 

 

 后面想了想

${proxy.add_argument}   Set  Variable   –headless

这一段,Set  Variable  是赋值,所以是达不到传参的效果的,结果就变成了

proxy.add_argument=”headless”

最后将Options.add_argument函数变成了一个字符串变量。。。

那把这样的参数传进去,自然就开不了无头模式。

所以,我们得换一个方式传参,就用到了

Call Method

Call Method 是robot 自带的关键字,就是专门用来传参的。

我们将语句更改为

Call Method   ${Options}   add_argument   --headless

 

 于是乎,你会发现,虽然没有打开浏览器,但是测试用例显示已经执行完毕。