首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >硒+ JavaScript +不脆性WebDateChooser

硒+ JavaScript +不脆性WebDateChooser
EN

Stack Overflow用户
提问于 2010-02-19 13:17:19
回答 2查看 2.6K关注 0票数 0

我正在为我们的一个页面进行Selenium测试,该页面有一个完整的WebDateChooser。我花了一段时间才能从Selenium测试中设置date字段,但我终于得到了一些工作:

代码语言:javascript
复制
waitForEval | javascript{this.browserbot.getUserWindow().igdrp_getComboById('ctl00_MainBody_ctl00_fdosDatePicker').setValue(new Date('2005-05-31'))} | dump

代码工作正常,但它会在Selenium IDE中抛出一个错误:

错误意外异常:消息chrome://selenium-ide/content/selenium/scripts/selenium-api.js,-> (Match1)未定义,fileName -> lineNumber -> 2464堆栈("javascript{this.browserbot.getUserWindow().igdrp_getComboById('ctl00_MainBody_ctl00_fdosDatePicker').setValue(new Date('2005-05-31'))}")@chrome://selenium-ide/content/selenium/scripts/selenium-api.js:2464 ()@chrome://selenium-ide/content/selenium/scripts/selenium-executionloop.js:109 ()@chrome://selenium-ide/content/selenium/scripts/selenium-executionloop.js:78 continueCurrentTest()@chrome://selenium-ide/content/selenium-runner.js:335 (true)@chrome://selenium-ide/content/debugger.js:165 ("cmd_selenium_step")@chrome://selenium-ide/content/editor.js:233 doCommand("cmd_selenium_step")@:0 goDoCommand("cmd_selenium_step")@chrome://global/content/globalOverlay.js:96 oncommand(对象XULCommandEvent)@chrome://selenium-ide/content/selenium-ide.xul:1,名称-> TypeError

我尝试了几种不同的命令(waitForEval、storeEval等)。但他们都犯了同样的错误。

对其他事情有什么建议我应该试试吗?

谢谢,马特

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-22 04:45:01

终于偶然发现了。当我现在对Command和Value使用不同的值时,它实际上是从Target中删除‘javascript{.}’语法,从而使我通过了错误。

代码语言:javascript
复制
getEval | this.browserbot.getUserWindow().igdrp_getComboById('ctl00_MainBody_ctl00_tdosDatePicker').setValue(new Date('2009-05-31')) | 

下面是另一种方法:在字段中输入文本后,这个方法使用fireEvent获取onblur事件。我是通过我是如何学会爱硒的fireEvent的找到的

代码语言:javascript
复制
type | ctl00_MainBody_ctl00_fdosDatePicker_input | 01/01/2010
fireEvent | ctl00_MainBody_ctl00_fdosDatePicker_input | blur

有多个选项来完成所有这些都很好。

票数 0
EN

Stack Overflow用户

发布于 2010-02-22 10:01:04

尽管您的解决方案有效,但它并不像用户那样与WebDateChooser交互。这可能是您想要的,但是,在快速查看了http://samples.infragistics.com/2007.3/webfeaturebrowser/WebDateChooser/Grid/webform1.aspx的示例演示之后,我可以将一个简单的脚本放在一起与WebDateChooser进行交互:

代码语言:javascript
复制
clickAt        | id=UltraWebGrid1_rc_0_5
waitForVisible | id=WebDateChooser1_img
clickAt        | id=WebDateChooser1_img
waitForVisible | id=WebDateChooser1_DrpPnl_Calendar1_504
select         | id=WebDateChooser1_DrpPnl_Calendar1_504 | label=July
select         | id=WebDateChooser1_DrpPnl_Calendar1_506 | label=1978
click          | id=WebDateChooser1_DrpPnl_Calendar1_d13

这些定位器正在使用ID,看起来它们可能是动态的和不可靠的。如果是这样的话,您可能需要查看一些更可靠的XPath或CSS定位器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2296487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档