我无法通过python脚本在android设备中测试“添加联系人”

时间:2019-06-06 12:32:18

标签: android python

我无法在Android设备上的脚本下运行。 您能帮上忙吗,因为我是自动化和python的新手。

import os, time, re
import unittest
from appium import webdriver

class ContactAppTest(unittest.TestCase):
    def setUp(self):
        desired_caps = {}
        desired_caps['deviceName'] = 'CID6CUQWW47DM7BI'
        desired_caps['platformName'] = 'Android'
        desired_caps['appPackage'] = 'com.android.contacts'
        desired_caps['appActivity'] = '.activities.PeopleActivity'
        self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)

    def ContactAppTestAppium(self):
        self.driver.find_element_by_xpath("//android.view.ViewGroup[@content-desc=\"Home screen 1\"]/android.widget.TextView[3]").click()
        self.driver.find_element_by_id("com.android.contacts:id/menu_add_contact").click()
        self.driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout[2]/android.widget.FrameLayout[2]/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout[1]/android.widget.LinearLayout[2]/android.widget.LinearLayout[2]/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText").click().send_keys("umesh123")
        self.driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout[2]/android.widget.FrameLayout[2]/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout[2]/android.widget.LinearLayout[1]/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.EditText").click().send_keys("7987654354")
        self.driver.find_element_by_id("com.android.contacts:id/save_menu_item").click()

    def tearDown(self):
        self.driver.quit()

1 个答案:

答案 0 :(得分:1)

您应该使用android调试桥adb,以便使用python执行某种自动化操作。

使用adb,您将能够使用一些命令来在设备上执行操作。

例如,您可以执行一个python脚本来在设备上执行滑动操作。

使用此输入:ADB Shell Input Events 您还应该观看UiAutomator和Monkey,这对于Android上的自动化非常有帮助。