无法通过Appium sendKeys()命令将文本传递到HTML5对话框

时间:2016-05-10 15:36:44

标签: android python appium

我正在使用Python与Appium一起在Android移动设备上自动化测试。我正在使用Appium / Selenium webdriver并在设备上启动Chrome。我使用用户名字段定位了一个对话框,我可以通过XPath找到用户名文本框,甚至可以点击进入以开始输入。但是,当我使用sendKeys()命令输入文本时,它什么也没做。任何帮助将不胜感激。

代码(Python):

    try:
        self.prac_btn = self.get_ele('xpath', '//*[@id="dialogMessage"]/fieldset/input[1]')
        print "Found username"
    except:
        print "Cannot find username"

    try:
        time.sleep(5)
        self.click_ele(self.prac_btn)
    except:
        print "Cannot click on username"

    try:
        time.sleep(5)
        self.prac_btn.send_keys(self, "Username")
    except:
        print "Cannot type text"

1 个答案:

答案 0 :(得分:0)

错误是由两个参数传递给send_keys()引起的,self只接受一个参数。因为send_keys()是一个类实例函数,所以不需要self作为参数。隐式传递except

这也是为什么裸TypeError: send_keys() takes exactly 1 argument (2 given) 危险的一个很好的例子。如果你发现了异常并打印出来,你会看到类似的东西:

{{1}}

对于出了什么问题,这将是一个强有力的线索。