无法传递参数

时间:2014-06-24 09:23:47

标签: csv selenium webdriver jmeter

 var pkg = JavaImporter(org.openqa.selenium)
    var support_ui = JavaImporter(org.openqa.selenium.support.ui.WebDriverWait)
    var wait = new support_ui.WebDriverWait(WDS.browser, 5000)

   WDS.sampleResult.sampleStart()
  WDS.browser.get('https://example.com')
var wait=new support_ui.WebDriverWait(WDS.browser,15000) 
var userName = WDS.browser.findElement(pkg.By.id('Login_txtUserName')).sendKeys(['sample'])
//userName.click()
//userName.sendKeys(['pandian'])
var userPwd = WDS.browser.findElement(pkg.By.id('Login_txtPassword')).sendKeys(['1234'])
//userPwd.click()
//userPwd.sendKeys(['1234'])
var button = WDS.browser.findElement(pkg.By.id('Login_btnLogin')).click()
//button.click()

![在用户名中:'Sample'&密码:'1234'我想用csv中的值列表参数化[1]

如果我尝试使用CSV配置进行参数化,并且如果我在我的sendkeys中使用$ {username},则它不会执行。请提供一些细节。

1 个答案:

答案 0 :(得分:2)

请参阅“脚本”输入字段顶部的Parameters部分。

您可以在参数节中传递${username}${password},您可以将其WDS.args[0]WDS.args[1]相应地引用

类似的东西:

var userName = WDS.browser.findElement(pkg.By.id('Login_txtUserName')).sendKeys([WDS.args[0]])
var userPwd = WDS.browser.findElement(pkg.By.id('Login_txtPassword')).sendKeys([WDS.args[1])

应该有效。

您可以按如下方式测试:

假设您提供以下行作为“参数”

Sample 1234

在“剧本”中有以下几行

WDS.log.info('Parameter 1:'+ WDS.args[0])
WDS.log.info('Parameter 2:' + WDS.args[1])

你会看到类似的东西:

2014/06/24 15:57:16 INFO  - com.googlecode.jmeter.plugins.webdriver.sampler.WebDriverSampler: Parameter 1:Sample 
2014/06/24 15:57:16 INFO  - com.googlecode.jmeter.plugins.webdriver.sampler.WebDriverSampler: Parameter 2:1234
jmeter.log 文件中的

(通常位于JMeter安装的/ bin文件夹中)

有关详细信息,请参阅Using Selenium with JMeter's WebDriver Sampler指南。