2017-08-24 134 views
0

所以我有以下问题在手;getText不返回值,但返回对象对象时,我setValue

我想从registrationNumber中获取文本。所以我定义了一个var regNumber = null;

我在global.js中定义了var,因为我想在整个测试中使用不同的pageObjects和特定函数以外的地方访问var。

当它获取文本并且需要在模板搜索中使用setValue填充文本时,它会返回对象对象,所以我尝试使用toString,但它们是相同的。 这是我需要为了使用使用var

module.exports = {

var regNumber = browser.globals; 

页面对象

 openSearch: function(browser, regNumber) { 
     browser.perform(function() { 
     browser.waitForElementVisible('.registrationnumber-search input', 3000) 
     browser.setValue('.registrationnumber-search input', regNumber) 

      return this; 
     }) 

测试

功能
.continueButton() 
browser.getText('xpath', '//*[@id="wizardDetailsTab"]/div[1]/div/div[1]/h4/span[2]', function (result) { 
         regNumber = result.value 
         console.log(result.value) 
        }) 

certificateEditor 
     .quickMenu("Permit") 
     .createNewItem("template") 

    permit 
     .openSearch(browser, regNumber) 

console.log(result.value)返回我想要的值,但是当我想在setValue中使用该值时,它不起作用。如果我创建一个函数并在该范围内执行getText,它将填充我所需要的内容。我想知道为什么当我尝试这样做时它不起作用。 在此先感谢!

回答

0

从它的外观来看,发生什么事是你要返回一个对象,当你正在寻找一个字符串。我想你只需要指定你想要的对象。

browser.globals 

应该像 browser.globals.value或browser.globals.text

你browser.globals是被返回的对象。您必须指定要让该对象返回的键/值对。

+0

感谢您的快速回复! 对象对象消失了,但是它现在返回的值和您提到的文本都未定义。 – Rodyb

1

在你的页面对象:

openSearch: function(regNumber) { 
     return this.perform(function (done) { 
     this.api.waitForElementVisible('.registrationnumber-search input', 3000) 
     .setValue('.registrationnumber-search input', regNumber) 
     done(); //prevent timeout issue 
     }) 

移动的getText后的代码()到它。

var permit=client.page.permit() // replace .permit() as .yourpageobjectjsname() 
..... 
.continueButton() 
browser.getText('xpath', '//*[@id="wizardDetailsTab"]/div[1]/div/div[1]/h4/span[2]', function (result) { 
         regNumber = result.value 
         console.log(result.value) 
         certificateEditor 
             .quickMenu("Permit") 
             .createNewItem("template") 

         permit 
             .openSearch(regNumber) 
}) 
+0

谢谢你的回复很有帮助! 干杯, Rody – Rodyb