当前位置: 首页 > 面试题库 >

我们如何在robotframework中一次通过不同的浏览器

柯良骏
2023-03-14
问题内容
*** Variables ***

${BROWSER}          firefox
${URL}              http://url/
${Delay}            0

在我的settings.txt文件中,我有一个名为{BROWSER}的变量,并且关联值如上所示,它是firefox

但是我想要的是

*** Variables ***

@{BROWSERS}         firefox  chrome  IE  
${URL}              http://url/
${Delay}            0

像上面的东西…所以当我首先运行测试套件时,它将在firefox中运行,并且在完成所有测试用例之后,它将关闭firefox,将打开chrome并在chrome浏览器上再次运行所有测试用例..依此类推它将在IE上运行

那么我们该怎么做呢?

我不想手动进行操作(我的意思是一一传递或编辑txt文件)。完全自动....一旦我运行测试,它将在所有浏览器中自动测试。

PS:这是在settings.txt文件中,我有两个文件夹,其中有test.txt文件。所以有一个主要问题..我必须循环访问这些文件夹

|-- main.py
|-- settings.txt    //in this file i have browser variable (or Array)
|-- test1
|   |-- testl.txt
|   |-- test1_settings.txt  //this will contain all the variables and user defined keyword related to test1 and 
|-- test2
|   |-- test2.txt    
|   |-- test2_settings.txt  //same as test1

我运行这样的测试用例 $pybot test1 test2


问题答案:

我看到两种方法。

1)循环浏览器并调用进行测试的关键字:

*** Variables ***
@{BROWSERS}          firefox  chrome  IE

*** test cases ***
test with several browser
    :FOR  ${browser}  IN   @{BROWSERS}
    \  log to console  call keyword that does your test with ${browser}

这是您通过此测试得到的结果:

[Mac]$ pybot .
Browser.Ts
==============================================================================
test with several browser                                             
call keyword that does your test with firefox
call keyword that does your test with chrome
call keyword that does your test with IE
test with several browser                                             | PASS |
------------------------------------------------------------------------------
Browser.Ts                                                            | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================

2)另一种方式(我更喜欢)是将$ {BROWSER}变量保留为单个值,并使用在命令行中给出的变量的新值多次调用测试用例:

[Mac]$ pybot --variable BROWSER:firefox ts.txt
[Mac]$ pybot --variable BROWSER:chrome ts.txt
[Mac]$ pybot --variable BROWSER:ie ts.txt


 类似资料:
  • 我们如何在网络浏览器中使用AWS Kinesis? 我对AWS的Kinesis流感兴趣,想知道我是否可以使用它将用户的活动日志直接从他们的浏览器发送到AWS。 AWS提供了一个可以在web浏览器中执行的JavaScript SDK,但是根据它的文档,该SDK需要凭证信息,因此,我认为在我的用例中使用它是不安全的。

  • 问题内容: TL; DR; 上传之前,有没有一种方法可以直接在浏览器端压缩图像(主要是jpeg,png和gif)?我很确定JavaScript可以做到这一点,但是我找不到实现它的方法。 这是我要实现的完整方案: 用户访问我的网站,然后通过元素选择图片, 该图片是通过JavaScript检索的,我们进行了一些验证,例如正确的文件格式,最大文件大小等, 如果一切正常,则会在页面上显示图像的预览, 用户

  • 问题内容: 我可以使用Java和JavaScript使用Selenium WebDriver打开一个新窗口。我正在使用Firefox。代码如下: 如何使用WebDriver(Selenium 2)在同一浏览器中打开新标签页? 问题答案: 瓦西姆 您可以使用以上行在同一浏览器中打开新标签页(在Firefox中运行)

  • 问题内容: 我们的调查表明,并非所有浏览器都以统一的方式遵守HTTP缓存指令。 出于安全原因,我们不希望Web浏览器永远缓存应用程序中的某些页面。这必须至少适用于以下浏览器: Internet Explorer 6+ Firefox 1.5+ Safari 3+ Opera 9+ Chrome 问题答案: 介绍 适用于所有提到的客户端(和代理)的正确的最小标头集: 该Cache-Control是每

  • 问题内容: 我是nodejs和browserify的新手。我从这个链接开始。 我有文件main.js包含此代码 现在,我使用npm安装uniq模块: 然后,我使用browserify命令将从main.js开始的所有必需模块捆绑到一个名为bundle.js的文件中: 生成的文件如下所示: 将bundle.js文件包含到我的index.htm页面中之后,如何调用logData函数? 问题答案: 默认情