首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >setValue不是一个函数webdriver 7

setValue不是一个函数webdriver 7
EN

Stack Overflow用户
提问于 2021-07-28 22:58:07
回答 1查看 356关注 0票数 0

我正在尝试使用Webdrio7 setValue()函数,但结果总是一样。

我贴出我的密码。

这是页面对象主页

代码语言:javascript
复制
import Page from './page'

class Home extends Page {

    get inputUsername () { return $('#user-name') }
   

    async open () {
        await super.open('https://www.saucedemo.com/')
    }

    async setUser () {
        this.inputUsername.setValue('fakeName')
    }

}

export default new Home()

这是页面对象

代码语言:javascript
复制
export default class Page {
   
     open (path) {
         browser.url(path)
    }
}

,这是规范

代码语言:javascript
复制
import Home from '../pageobjects/home'

describe('login form', () => {
    it('first login', async () => {
        await Home.open()
        await Home.setUser()

    })
})

这是一个错误:

TypeError: this.inputUsername.setValue不是函数

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-29 08:08:10

这是会发生的,因为您必须先使用await元素,然后与它交互(在您的情况下设置值)。

因此,在获得元素之前添加await

代码语言:javascript
复制
 // Home page object

 async setUser () {
   //       ⤵ - missed await
   return (await this.inputUsername).setValue('fakeName')
 }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68568222

复制
相关文章

相似问题

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