Example #1
0
    def initDevice(self):
        '''
        初始化设备
        :return:
        '''

        if (ST.DEVICE is None) or (len(ST.DEVICE) == 0):
            #未配置设备时,使用默认设备进行连接
            #先尝试连接安卓设备,如果连接失败,连接IOS
            try:
                dev = init_device(cap_method=ST.CAP_METHOD,
                                  ori_method=ST.ORI_METHOD,
                                  touch_method=ST.TOUCH_METHOD)
            except:
                dev = init_device(self.__ios)
            self.__airtestDevDict["___one___"] = dev
            self.__nameAndDevMap["___one___"] = dev.uuid
            devType = dev.__class__.__name__
            if devType == self.__android:
                pocoDev = AndroidUiautomationPoco()
                pootDev = Poot(dev.uuid, screenshot_each_action=True)
            elif devType == self.__ios:
                pocoDev = iosPoco()
                pootDev = None
            else:
                raise BaseException("暂时不支持此种类型设备{%s}" % devType)
            self.__pocoDevList["___one___"] = pocoDev
            self.__pootDevList["___one___"] = pootDev
            self.__activeDevName = "___one___"
            self.__activeDev = dev
            self.__activePoco = pocoDev
            self.__activePoot = pootDev
            self.__activeDevType = devType
        else:
            #否则,使用配置进行连接
            for devName, devUri in ST.DEVICE.items():
                dev = connect_device(devUri)
                self.__airtestDevDict[devName] = dev
                self.__nameAndDevMap[devName] = dev.uuid
                devType = dev.__class__.__name__
                if devType == self.__android:
                    pocoDev = AndroidUiautomationPoco(dev)
                    pootDev = Poot(dev.uuid, screenshot_each_action=True)
                elif devType == self.__ios:
                    pocoDev = iosPoco()
                    pootDev = None
                else:
                    raise BaseException("暂时不支持此种类型设备{%s}" % devType)
                self.__activeDevName = devName
                self.__pocoDevList[devName] = pocoDev
                self.__pootDevList[devName] = pootDev
                self.__activeDev = dev
                self.__activePoco = pocoDev
                self.__activeDevType = devType
                self.__activePoot = pootDev
        LOGGING.info("(%s)已连接" % ",".join(self.__nameAndDevMap.values()))
Example #2
0
    def __pre(self):
        """
        初始化
        :return:
        """
        # 连接设备
        connect_device('iOS:///127.0.0.1:8100')
        self.poco = iosPoco()

        # 屏幕宽高 [640, 1136]
        self.size = self.poco.get_screen_size()

        # 打开设备
        home()
        stop_app(package=self.package)
        start_app(package=self.package, activity=None)

        # 主页元素
        element_home_tab1 = self.poco('闲鱼')
        element_home_tab2 = self.poco('鱼塘')
        element_home_tab3 = self.poco('消息')
        element_home_tab4 = self.poco('我的')
        element_home_tab5 = self.poco('发布')

        self.poco.wait_for_all([
            element_home_tab1, element_home_tab2, element_home_tab3,
            element_home_tab4, element_home_tab5
        ])

        print('主页加载完全~')
Example #3
0
 def init_driver(self):
     # 创建设备驱动
     self.device_phone = my_retry_connect("ios:///http://{0}:{1}".format(
         self.phone_ip, self.phone_port))
     self.phone_dev = "http://{0}:{1}".format(self.phone_ip,
                                              self.phone_port)
     self.poco_phone_driver = iosPoco(self.device_phone, poll_interval=1)
     # 关闭截图
     self.poco_phone_driver.screenshot_each_action = False
Example #4
0
    def setUpClass(cls):
        """
        整个用例执行的前置条件
        """

        super(BaseAppCase, cls).setUpClass()
        if Data.device_type == 'android':
            cls.poco = AndroidUiautomationPoco()
        else:
            cls.poco = iosPoco()
    def init_ios_app(self):
        # 创建设备驱动
        self.device_phone = connect_device("ios:///http://{0}:{1}".format(self.phone_ip, self.phone_port))
        self.phone_dev = "http://{0}:{1}".format(self.phone_ip, self.phone_port)
        self.poco_phone_driver = iosPoco(self.device_phone, poll_interval=1)
        # 关闭截图
        self.poco_phone_driver.screenshot_each_action = False

        # 初始化页面
        self.home_page = IOSHomePage(self.poco_phone_driver)
        self.second_page = IOSSecondPage(self.poco_phone_driver)
def ios_poco(request):
    global IosPoco
    if IosPoco is None:
        connect_device('iOS:///' + ADDRESS)
        IosPoco = iosPoco()
    yield IosPoco

    def end():
        home()

    request.addfinalizer(end)
Example #7
0
def runCase(self, vars):
    poco = iosPoco()
    poco("Patient Beta").click()
    touch(Template(img("tpl1553160183364")))
    text("*****@*****.**")
    touch(Template(img("tpl1553160262626")))

    touch(Template(img("tpl1553160280476")))
    text("zxcvbnm")
    touch(Template(img("tpl1553160262626")))

    sleep(3)

    assert_exists(Template(img("tpl1553160329233")), "should display tool bar")
Example #8
0
    def connect(self, driver_ip, driver_port, device_id):

        if driver_ip and driver_port:
            self.device = retry_connect("ios:///http://{0}:{1}".format(
                driver_ip, driver_port))

        elif device_id:
            self.device = retry_connect("ios:///http://{0}".format(device_id))

        driver = iosPoco(self.driver, poll_interval=1)
        self.device = device()

        # 关闭截图
        driver.screenshot_each_action = True
        return driver
Example #9
0
import requests
import pandas
import csv

pytesseract.pytesseract.tesseract_cmd = r'/usr/local/bin/tesseract'
# connect_device("ios:///http://127.0.0.1:8100")
from airtest.core.api import connect_device
from poco.drivers.android.uiautomation import AndroidUiautomationPoco

connect_device("ios:///http://127.0.0.1:8100")
# device_2 = connect_device('Android:///SGTOO7NFQKY9I7CU?cap_method=javacap&touch_method=adb')
# poco_2 = AndroidUiautomationPoco(device_2, use_airtest_input=True, screenshot_each_action=False)
# connect_device("Android:///")
from poco.drivers.ios import iosPoco

poco = iosPoco()
auto_setup(__file__)


class Common_AVC:
    def __init__(self):
        self.interval = 2

    def setCurrentDevice(self, device):
        set_current(device)

    def startAVC(self, packageName):
        start_app(packageName)
        # wait(Template(r"resource/images/tpl1568100069708.png", record_pos=(0.003, -0.54), resolution=(750, 1334)),5)
        # sleep(self.interval)
Example #10
0
# -*- encoding=utf8 -*-
__author__ = "wanyilei"

from airtest.core.api import *
from poco.drivers.ios import iosPoco
from poco.drivers.android.uiautomation import AndroidUiautomationPoco

pocoAndorid = AndroidUiautomationPoco(use_airtest_input=True,
                                      screenshot_each_action=False)
pocoiOS = iosPoco()

auto_setup(__file__)