[英]JMeter Groovy - WebDriver Sampler script failed with Response Code 500
[英]How to write groovy Script in Jmeter
您好Stackoverflow社區,
我是Jmeter和相關人員的新手。
通過Selenium WebDriver Sampler(使用Java腳本)完成登錄請求和響應。
此帖子也附有屏幕截圖。 一切正常。
現在我瀏覽一些文章,他們重點介紹了使用Groovy腳本(在JSR223 Sampler下),但是我無法弄清楚如何在Groovy(JSR223 sampler)可運行腳本中轉換相同的Javascript(WDS sampler)。我將非常感謝在這方面的任何幫助。 謝謝
groovy(Groovy 2.4.15 / Groovy Scripting Engine 2.0)已經顯示在我的JSR223采樣器中[使用apache-jmeter-5.0即時顯示]我運行了hello world程序,它的工作正常。.我還不知道如何使用groovy腳本。
以下是我在Javascipt(Selenium WDS)中的代碼
WDS.sampleResult.sampleStart();
WDS.log.info("Maximo Application ---- Sample started");
var pkg = JavaImporter(org.openqa.selenium); //WebDriver classes
var support_ui = JavaImporter(org.openqa.selenium.support.ui.WebDriverWait);
var wait = new support_ui.WebDriverWait(WDS.browser, 5000);
var conditions=org.openqa.selenium.support.ui.ExpectedConditions;
var selenium_keys=JavaImporter(org.openqa.selenium.Keys);
WDS.sampleResult.getLatency();
//-----------------------------Login in Application---------------------------------------------
WDS.browser.get('http://xxxxxxxxxxxxxxx/maximo/webclient/login/login.jsp'); //opens website
WDS.log.info("Maximo Application ---- Username and Password dynamicly picked from C:/user.csv ");
//UserName
var userName = WDS.browser.findElement(pkg.By.id('username'));
WDS.log.info("Maximo Application ---- Username "+'${username}');
userName.click();
userName.sendKeys('${username}');
//Password
var password=WDS.browser.findElement(pkg.By.id("password"));
password.click();
WDS.log.info("Maximo Application ---- password "+'${password}');
password.clear();
password.sendKeys('${password}');
WDS.browser.findElement(pkg.By.id("loginbutton")).click();
WDS.log.info("Maximo Application ---- Logged by USER Name--- "+ '${username}');
WDS.sampleResult.sampleEnd();
我真的要開始使用Groovy,因為所有即將出現的情況都將變得非常復雜
我可以為您提供有關您的代碼的指導。
通常,即使在jmeter中使用javascript時,您也在調用java方法。
groovy會做同樣的事情,但是在語法上更接近java。
所以:
def
而不是var
聲明變量 JavaImporter(XYZ)
更改為在腳本開頭import XYZ
support_ui
只是一個例子:
import org.openqa.selenium.*; //need .* to import all classes from package
import org.openqa.selenium.support.ui.WebDriverWait; //import exact class
WDS.sampleResult.sampleStart(); //code remains the same
//var pkg = JavaImporter(org.openqa.selenium); //moved to import
//var support_ui = JavaImporter(org.openqa.selenium.support.ui.WebDriverWait); //moved to import
def wait = new WebDriverWait(WDS.browser, 5000); //removed `support_ui.`
def userName = WDS.browser.findElement(By.id('username')); //removed `pkg.`
最后只是學習Java和groovy
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.