【问题标题】:Protractor - Safari - Timed out awaiting response to command "sendKeysToElement"量角器 - Safari - 等待对命令“sendKeysToElement”的响应超时
【发布时间】:2015-08-26 17:55:17
【问题描述】:

当尝试将文本发送到输入框时,我的一个 E2E 测试仅在 Safari 浏览器上失败。

element(by.css('#content')).clear();
element(by.css('#content')).sendKeys("%20%DCben%20von%20Xylophonmusik%20qu%E4lt%20jeden%20gr%F6%DFeren%20Zwerg%20El%20ping%FCino%20Wenceslao%20hizo%20kil%F3metros%20bajo%20exhaustiva%20ll");  //UTF Text

在 Webdriver 管理器控制台中看到以下错误

18:40:12.150 INFO - 执行中:[发送密钥:16 [[SafariDriver:safari 在 MAC (null)] -> css 选择器:#contentText], [Falsches%20%DCben%20von%20Xylophonmusik%20qu%E4lt%20jeden%20gr%F6%DFeren%20Zwerg%20El%20ping%FCino%20Wenceslao%20hizo%20kil%F3metros%20bajo%20exhaustiva%20lluvia%20y%20%0A %200c%F4t%E9%20de%20l%27alc%F4ve%20ovo%EFde%2C%20o%F9%20les%20b%FBche%u0E40%u18:40:42.663

WARN - 抛出异常 org.openqa.selenium.TimeoutException: Timed 在 30004 毫秒后等待对命令“sendKeysToElement”的响应

(警告:服务器未提供任何堆栈跟踪信息) 命令持续时间或超时:30.02 秒构建信息:版本: '2.45.0',修订:'5017cb8',时间:'2015-02-26 23:59:50'系统 信息:主机:'vq-mac-dt-036.local',ip:'10.21.134.62',os.name:'Mac OS X',os.arch:'x86_64',os.version:'10.9.5',java.version: '1.8.0_31' 驱动程序信息:org.openqa.selenium.safari.SafariDriver 功能 [{browserName=safari,takeScreenshot=true, javascriptEnabled=true, 版本=7.0.6, cssSelectorsEnabled=true, 平台 = MAC,secureSsl = true}] 会话 ID:空 sun.reflect.GeneratedConstructorAccessor57.newInstance(未知来源) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:408) 在 org.openqa.selenium.remote.ErrorHandler.createThrowa18:40:42.664 警告 - 异常:等待命令响应超时 30004 毫秒后“sendKeysToElement”(警告:服务器没有 提供任何堆栈跟踪信息)命令持续时间或超时:30.02 秒

此测试适用于 Firefox、Chrome 浏览器。我找不到任何与 Safari 驱动程序相关的未解决问题。

您能否建议,如何解决这个问题。

提前致谢。

【问题讨论】:

  • 只有 UTF8 内容才会超时吗?如果您尝试使用非 UTF8 字符串会发生什么?另外,您能否编辑您的问题:1. 您的操作系统 2. 您正在使用的 Protractor 版本 3. 您正在使用的 Node 版本

标签: selenium-webdriver safari protractor timeoutexception e2e-testing


【解决方案1】:

尝试在输入框上链接 clear、click 和 sendKeys 函数来发送值。我认为 UTF8 文本不会引起任何问题。这是怎么做的-

var ele = element(by.css('#content'));
ele.clear().then(function(){
    ele.click().then(function(){
        ele.sendKeys("%20%DCben%20von%20Xylophonmusik%20qu%E4lt%20jeden%20gr%F6%DFeren%20Zwerg%20El%20ping%FCino%20Wenceslao%20hizo%20kil%F3metros%20bajo%20exhaustiva%20ll");  //UTF Text
    });
});

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2020-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-30
    • 1970-01-01
    • 2017-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多