尝试使用JavaScript进行Selenium WebDriver测试的拖放操作时出错 [英] Error when trying to execute drag and drop using javascript for Selenium WebDriver test

查看:117
本文介绍了尝试使用JavaScript进行Selenium WebDriver测试的拖放操作时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试使用以下JavaScript调用来模拟Selenium WebDriver测试的拖放,但是出现WebDriver错误.我尝试过这种方式,因为 Actions 类不适用于任何浏览器(Firefox,Chrome).
有人可以告诉我我在做什么错吗?

I have tried to simulate drag and drop for Selenium WebDriver test using the following JavaScript call, but I get a WebDriver error. I tried this way, as with Actions class didn't work on any browser (Firefox, Chrome).
Can someone tell what I am doing wrong?

String filePath = "C://Work//Spica import files//drag_and_drop_helper.js";
String source = "li[draggable='true']";
String target = "#fieldCc";
StringBuffer buffer = new StringBuffer();
String line;
BufferedReader br = null;
try {
  br = new BufferedReader(new FileReader(filePath));
} catch (FileNotFoundException e) {
  e.printStackTrace();
}

try {
  while((line = br.readLine())!=null)
    buffer.append(line);
} catch (IOException e) {
    e.printStackTrace();
}

String javaScript = buffer.toString();
javaScript = javaScript + "$('" + source + "').simulateDragDrop({ dropTarget: '" + target + "'});";
((JavascriptExecutor)getDriver()).executeScript(javaScript);

我得到的错误是:

org.openqa.selenium.WebDriverException:未知错误: 之后,Runtime.evaluate引发异常:SyntaxError:缺少) 参数列表(会话信息:chrome = 53.0.2785.116)(驱动程序信息: chromedriver = 2.9.248315,platform = Windows NT 6.3 x86_64)(警告: 服务器未提供任何堆栈跟踪信息)命令持续时间或 超时:17毫秒内部版本信息:版本:'2.53.1',修订版: 'a36b8b1cd5757287168e54b817830adce9b0158d',时间:'2016-06-30 19:26:09'系统信息:主机:'EN610188',ip:'172.16.116.151', os.name:Windows 8.1",os.arch:"amd64",os.version:"6.3", java.version:"1.8.0_91"驱动程序信息: org.openqa.selenium.chrome.ChromeDriver功能 [{applicationCacheEnabled = false,rotatable = false, chrome = {userDataDir = C:\ Users \ lgrecu \ AppData \ Local \ Temp \ scoped_dir5352_12600}, takeHeapSnapshot = true,databaseEnabled = false,handlesAlerts = true, 版本= 53.0.2785.116,平台= WIN8_1, browserConnectionEnabled = false,nativeEvents = true, acceptSslCerts = true,locationContextEnabled = true, webStorageEnabled = true,browserName = chrome,takesScreenshot = true, javascriptEnabled = true,cssSelectorsEnabled = true}]会话ID: fe314c5e2184e76f1b3d934159ae2887版本信息:版本:"2.53.1", 版本:"a36b8b1cd5757287168e54b817830adce9b0158d",时间: '2016-06-30 19:26:09'系统信息:主机:'EN610188',ip: '172.16.116.151',操作系统名称:'Windows 8.1',os.arch:'amd64', os.version:'6.3',java.version:'1.8.0_91'驱动程序信息: driver.version:未知

org.openqa.selenium.WebDriverException: unknown error: Runtime.evaluate threw exception: SyntaxError: missing ) after argument list (Session info: chrome=53.0.2785.116) (Driver info: chromedriver=2.9.248315,platform=Windows NT 6.3 x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 17 milliseconds Build info: version: '2.53.1', revision: 'a36b8b1cd5757287168e54b817830adce9b0158d', time: '2016-06-30 19:26:09' System info: host: 'EN610188', ip: '172.16.116.151', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_91' Driver info: org.openqa.selenium.chrome.ChromeDriver Capabilities [{applicationCacheEnabled=false, rotatable=false, chrome={userDataDir=C:\Users\lgrecu\AppData\Local\Temp\scoped_dir5352_12600}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, version=53.0.2785.116, platform=WIN8_1, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}] Session ID: fe314c5e2184e76f1b3d934159ae2887 Build info: version: '2.53.1', revision: 'a36b8b1cd5757287168e54b817830adce9b0158d', time: '2016-06-30 19:26:09' System info: host: 'EN610188', ip: '172.16.116.151', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_91' Driver info: driver.version: unknown

推荐答案

尝试删除String source = "li[draggable='true']";中的单引号,然后立即尝试.猜想它会起作用.

Try removing the single quotes from String source = "li[draggable='true']"; and try now. guess it will work.

String source = "li[draggable=true]";

这篇关于尝试使用JavaScript进行Selenium WebDriver测试的拖放操作时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆