不推薦,好彆扭,但可行
右鍵執行緒組->新增->取樣器->jp@gc - WebDriver Sampler
script language 選擇:JavaScript(可惜沒有python)
介面說明
// 相當於python的from import java的import
var pkg = JavaImporter(org.openqa.selenium)
// Start capturing the sampler timing 開始捕獲取樣
WDS.sampleResult.sampleStart()
// 程式碼塊
WDS.browser.get('http://114.116.2.138:8090/forum.php')
WDS.browser.findElement(pkg.By.id('ls_username')).sendKeys('admin')
// 等價於 WDS.browser.findElement(org.openqa.selenium.By.id('ls_username')).sendKeys('admin')
WDS.browser.findElement(pkg.By.id('ls_password')).sendKeys('123456')
// js語法定義了一個 sleep函數 ,讓你從python平滑過渡到 js
var sleep = function(time) {
var timeOut = new Date().getTime() + parseInt(time, 10);
while(new Date().getTime() <= timeOut) {}
}
WDS.browser.findElement(pkg.By.cssSelector('.pn.vm')).click()
sleep(3000)
// 斷言部分
if(WDS.browser.getCurrentUrl() != 'http://114.116.2.138:8090/forum.php') {
WDS.sampleResult.setSuccessful(false)
WDS.sampleResult.setResponseMessage('Expected url to be XXX')
}
else{
WDS.sampleResult.setSuccessful(true)
}
// Stop the sampler timing 停止取樣
WDS.sampleResult.sampleEnd()
WDS就是Web Driver Sampler
麻煩的是你可能並沒有自動補齊(好像可以出來,但沒研究),這個物件有哪些屬性方法
深入的研究要看
https://www.selenium.dev/selenium/docs/api/java/org/openqa/selenium/package-summary.html
比如顯式等待的一個應用
var pkg = JavaImporter(org.openqa.selenium, org.openqa.selenium.support.ui)
var wait = new pkg.WebDriverWait(WDS.browser, 5, 0.5)
wait.until(pkg.ExpectedConditions.presenceOfElementLocated(pkg.By.cssSelector('ul.suggestions')))
vars.get("VAR1"); vars.put("VAR2","value"); vars.remove("VAR3"); vars.putObject("OBJ1",new Object());
java.util.Properties
) - e.g. props.get("START.HMS"); props.put("PROP1","1234");