我在JMeter 3.0和jmeter-plugins-webdriver-1.4.0.jar中使用java作为脚本语言。当我运行我的脚本时,该脚本应该打开浏览器并转到gmail.com,然后登录。我收到以下错误:
ERROR - com.googlecode.jmeter.plugins.webdriver.sampler.WebDriverSampler: In file: inline evaluation of: ``import org.openqa.selenium;
import org.openqa.selenium.support.ui; WDS.sampleRe . . .
Encountered "WDS" at line 5, column 1.in inline evaluation of:
import org.openqa.selenium;
import org.openqa.selenium.support.ui;
WDS.sampleRe . . . '' at line number 5
ERROR - com.googlecode.jmeter.plugins.webdriver.sampler.WebDriverSampler: In file: inline evaluation of:
import org.openqa.selenium.*; import org.openqa.selenium.support.ui.*; import o . . . '' Encountered "WebElement" at line 9, column 1.
in inline evaluation of:
import org.openqa.selenium.*; import org.openqa.selenium.support.ui.*;
import o . . . at line number 9
下面是我的两个脚本:
打开浏览器:
import org.openqa.selenium.*;
import org.openqa.selenium.support.ui.*;
WDS.sampleResult.sampleStart()
WDS.browser.get('http://gmail.com')
// login details
WDS.sampleResult.sampleEnd()
登入:
import org.openqa.selenium.*;
import org.openqa.selenium.support.ui.*;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
WDS.sampleResult.sampleStart()
WebElement userIdElement = WDS.browser.findElement(By.id(("username"));
userIdElement.sendKeys('${email}');
WebElement pwdElement = WDS.browser.findElement(By.id("password"));
pwdElement.sendKeys('${pwd}');
WebElement signIn = WDS.browser.findElement(By.id("login"))
signIn.click();
// login details
WDS.sampleResult.sampleEnd()
3条答案
按热度按时间busg9geu1#
您的测试有多个问题
1.缺少分号
1.括号不对称
1.如果使用Java语言,则无法访问
${email}
等JMeter变量1.无效的Web元素ID
以下是固定代码示例:
还可以考虑使用Explicit Waits,因为浏览器不太可能立即加载页面,因此您将获得大量的NoSuchElementExceptions
有关在JMeter测试中使用WebDriver采样器的更多信息,请参见The WebDriver Sampler: Your Top 10 Questions Answered指南。
smdncfj32#
我已经使用了这个sendKeys方法,例如:如果By.id。
因此,它不是传递abcd,而是传递NULL
798qvoo83#
我使用了sendKeys方法示例:
这样做解决了NULL的传递问题。