【发布时间】:2015-05-18 18:55:37
【问题描述】:
我有一个文本区域 div 字段:
<div id="shortansweractivityId" class="shortanswerText ng-pristine ng-scope ng-isolate-scope ng-invalid ng-invalid-required ng-touched" ng-model="activity.answer" ng-if="isEditable" ng-focus="editing()" placeholder="Write here..." contenteditable="true" content-type="text"></div>
我可以在 chrome 中使用sendKeys:
element(by.css('div#shortansweractivityId')).sendKeys('Test');
但是在 safari 中运行相同的程序时会出错:
UnknownError: undefined is not an object (evalating 'b.value.length') (警告:服务器未提供任何堆栈跟踪信息) 命令持续时间或超时:18 毫秒构建信息:版本: '2.45.0',修订:'5017cb8',时间:'2015-02-26 23:59:50'系统 信息:主机:'spatchamatla-mac.local',ip:'10.29.1.136',os.name:'Mac OS X',os.arch:'x86_64',os.version:'10.10.3',java.version: '1.8.0_45' 驱动程序信息:org.openqa.selenium.safari.SafariDriver 功能 [{browserName=safari,takeScreenshot=true, javascriptEnabled=true, 版本=8.0.6, cssSelectorsEnabled=true, platform=MAC,secureSsl=true}] 会话 ID:空
有什么建议吗?
【问题讨论】:
-
为什么不直接做 ' element(by.id('shortansweractivityId').sendKeys('Test');' 或者那样也行不通?
-
@Sirk 这不起作用,因为 Safari 不会将文本发送到非输入类型
标签: selenium selenium-webdriver safari protractor end-to-end