响应消息:javax.script.scriptException:javax.script.scriptException:groovy.lang.MissingPropertyException:没有这样的属性:类的ExpectedConditions:Script7
在脚本的“desctop”部分,xpath(通过WebDriver sampler实现)并单击这个“Accept All Cookies”span元素可以100%正确地工作--因此我知道,xpath是正确的。
你能看看这个问题并分享你的想法和任何建议吗?在JSR223中问题的原因在哪里?如何解决它?
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;
import java.util.concurrent.TimeUnit;
System.setProperty("webdriver.chrome.driver", "${webdriver_path}");
Map<String, Object> deviceMetrics = new HashMap<>();
deviceMetrics.put("width", ${width});
deviceMetrics.put("height", ${height});
deviceMetrics.put("pixelRatio", ${pixelRatio});
Map<String, Object> mobileEmulation = new HashMap<>();
mobileEmulation.put("deviceMetrics", deviceMetrics);
mobileEmulation.put("userAgent", "${userAgent}");
Map<String, Object> chromeOptions = new HashMap<>();
chromeOptions.put("mobileEmulation", mobileEmulation);
//DesiredCapabilities capabilities = DesiredCapabilities.chrome();
//capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("mobileEmulation", mobileEmulation);
ChromeDriver driver = new ChromeDriver(options);
driver.get("https://${HOST_MAIN}");
WebDriverWait wait = new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//span[contains(text(), 'Accept All Cookies')]")));
driver.findElement(By.xpath("//span[contains(text(), 'Accept All Cookies')]")).click();
//this way doesn't work too:
//WebDriverWait(driver, 20).until(EC.element_to_be_clickable(By.xpath("//span[contains(text(), 'Accept All Cookies')]"))).click();
log.info(driver.getTitle());
driver.quit();
当使用JSR223在客户端模拟移动设备时,如何实现相同的操作?
在我看来,这是一个错别字或复制粘贴问题,您需要更改如下:
import org.openqa.selenium.support.ui.ExpectedCondition;
到这一行:
import org.openqa.selenium.support.ui.ExpectedConditions;
因为它必须是完全限定和正确的ExpectedConditions类名
场景: 打开主页并单击“Accept All Cookie”(JSR223 Sampler1 in Once Only controller) 从参数化URL集合(另一个控制器中的JSR223 Sampler2)中打开页面。 System.SetProperty(“webdriver.chrome.driver”,“vars.get(”webdriver_path“)”); map mobileE
我有一个Groovy测试类 在该类中有以下测试用例: 以及如下所示: 现在,当我运行这个测试用例时,我在调用时收到以下错误消息: 棒极了。lang.MissingPropertyException:类:ecs没有此类属性:msg1。MsgDispatcherTest 你知道我错过了什么吗?
试图通过解析JSON提取response属性时,收到NoSuchProperty错误
日志消息如下所示: 2018-09-24 13:49:23,669错误O.A.J.M.JSR223预处理器:JSR223脚本中的问题,JSR223预处理器javax.script.scriptexception:groovy.lang.missingPropertyException:没有这样的属性:用于类的it:Script32 at org.codehaus.groovy.JSR223.gro
在Apache jmeter项目中,我只需要在两个线程组之间共享几个变量。我发现变量不能在线程组之间共享,我必须使用属性。我在第一个线程组的JSR223预处理器中编写了下面的脚本来设置属性值。它运行没有任何异常。 然后,我从第二个线程组中的JSR223预处理器读取属性值,如下所示。 它将通过jmeter日志中的以下异常。 2019-11-02 18:54:19,353错误O.A.J.M.JSR22
路径似乎是正确的,文件存在,我检查了它的尾随/前导空白。 我错过了什么?