2013-04-06 60 views
0

我使用的NodeJS,纯碱硒硒的webdriver IE9事件不触发

我打试图让JavaScript的火像数据的输入事件的问题。脚本甚至无法通过在IE上创建客户端流。只担心IE 9+顺便说一句。

我错过了什么?这在最新的FF中运行良好。下面张贴使用FF的示例代码

var soda = require('soda'); 
var assert = require('assert'); 
var browser = soda.createClient({ 
    url: 'http://192.168.12.1/', // localhost website 
    port:5555, 
    host:'192.168.1.3', //grid ip 
    browser: 'firefox', 
    browserTimeout:5 
}); 

var testname = 'Nits' + parseInt(Math.random() * 100000000); //create unique name for new person. 
console.log('randome name: ' + testname); 

browser 
    .chain 
    .session() 
    .setSpeed(speed) 
    .setTimeout(20000) 
    .open('/') 
    .and(login('[email protected]', 'x1212GQtpS')) 
    .and(killClient(killAtEnd)) 
    .end(function(err){ 
     console.log('done'); 
     if(err){ 
      console.log(err); 
     }else{ 
      console.log("We're Good"); 
     } 
     if (closeAtEnd){ 
      browser.testComplete(function() { 
       console.log('killing browser'); 
      }); 
     } 
    }); 

function login(user, pass) { 
    return function(browser) { 
    browser 
    .click('css=a#loginButton') 
    .type('css=input.input-medium.email',user) 
    .type('css=input.input.pwd',pass) 
    .clickAndWait('css=a.btn.login') 
    .assertTextPresent('Clients',function(){ console.log('logged in ok')}) 
    } 
} 

回答

0

您能更具体地了解脚本停止,失败或引发错误的具体位置吗?我怀疑IE无法处理你把css选择器放在一起的方式(比如'input.input.pwd'这样的类名组合器)。我会建议尝试一个不同的选择器或重写/简化你现有的选择器,直到你得到它的工作。

+0

感谢您的回复,我想为IE和Firefox使用相同的脚本是可能的吗? – 2013-04-08 03:05:45

+0

是的。如果你的cssSelector正确,它可以在所有的浏览器上运行。根据我的经验,如果一个带clas值的DIV值为“输入输入pwd”,那么代替选择器“DIV.input.input.pwd”,我简化为“DIV.input”。故事的士气是要小心你的选择器语法。 – djangofan 2013-04-08 16:18:36