2013-10-25 40 views
1

在WeDriver sampler中,我想使用JavaImporter調用我自己的類,它將執行測試登錄頁面。輸入用戶名和密碼並輸入。JMeter with JavaImported import defined JAR

等來以這種方式使用: VAR PKG = JavaImporter(org.openqa.selenium,org.openqa.selenium.support.ui) VAR support_ui = JavaImporter(org.openqa.selenium.support.ui。 WebDriverWait)

我已經創建了類文件並使用eclipse幫助創建jar文件。類只會更新網頁上的值(用戶名和密碼)。 從eclipse創建一個jar文件導入到eclipse項目來檢查jar文件是否正確。我可以瀏覽類並將類導入到新的java文件中。

JAR文件被複制到JmeterPATH/lib/ext目錄,開放JMeter的和更新的測試採樣的webdriver用: VAR login_page = JavaImporter(WebTest.BO.Login)

的JMeter返回: 響應消息:javax.script中.ScriptException:sun.org.mozilla.javascript.internal.EcmaError:ReferenceError:「WebTest」未定義。 (#3)在3號線

有誰知道什麼應該加入到一流的登錄名,JMeter會正常工作,並認識到包裝WebTest.BO.Login(因爲它是在日食識別)

在JMeter中我還添加了Testplan JAR文件。

非常感謝您的支持。

這是一個代碼類 包WebTest.BO.Login;

import java.util.List; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.openqa.selenium.support.ui.ExpectedConditions; 
import org.openqa.selenium.support.ui.WebDriverWait; 


public class LogIn_Page { 
private WebDriver driver; 
public void Login(WebDriver driver, String username, String password) throws Exception { 

    this.driver = driver; 
    WebDriverWait webwait = new WebDriverWait(driver, 30); 

    WebElement UserName = driver.findElement(By.xpath("//input[@id='UserName']")); 
    UserName.sendKeys(username); 

    WebElement Password = driver.findElement(By.xpath("//input[@id='Password']")); 
    Password.sendKeys(password); 

    WebElement loginBtn = driver.findElement(By.xpath("//input[@id='loginBtn']")); 
    loginBtn.click(); 

} 
中的JMeter

解析的代碼:

importPackage(Packages.WebTest.BO.Login) 

var login_page = new LogIn_Page() 

var support_ec = JavaImporter(org.openqa.selenium.support.ui) 
var timeunit = JavaImporter(java.util.concurrent); 
var wait = new support_ui.WebDriverWait(WDS.browser, 30) 


WDS.sampleResult.sampleStart() 

WDS.browser.get("${server}") 

login_page.Login(WDS.browser, 「$ {用戶名}」, 「$ {用戶名}」) 問候

回答

0

作爲每Script Engine docs你需要或者:

var login = new Packages.WebTest.BO.Login

importPackage(Packages.WebTest.BO.Login)

更多的話題如何use Selenium with JMeter文件內。

+0

是的,謝謝你幫助我使用importPackage(Packages.WebTest.BO.Login) – Danijel

相關問題