Exemplo n.º 1
0
def runner():
    i=1
    while True:
        kill_adb()
        devicess = AndroidDebugBridge().attached_devices()
        if len(devicess) > 0:
            mk_file()
            l_devices = []
            for dev in devicess:
                app = {}
                app["devices"] = dev
                init(dev)
                app["port"] = str(random.randint(4700, 4900))
                app["bport"] = str(random.randint(4700, 4900))
                app["systemPort"] = str(random.randint(4700, 4900))
                app["app"] = PATH("../app/com.jm.android.jumei_8.601_8601.apk") # 测试的app路径
                #app["app"] = "/Users/vic/work/WORK/Work/Py_script/appium-master/app/android-system-webview-60.apk"  # 测试的app路径,喜马拉雅app
                l_devices.append(app)

            appium_server = AppiumServer(l_devices)
            appium_server.start_server()
            #print(l_devices)
            runnerPool(l_devices)
            writeExcel()
            filepath = PATH("../Report/ReportDetail.xlsx")
            excel_to_html(filepath)
            appium_server.stop_server(l_devices)
            data = getData()
            if data["pass"] >0:
                print("执行成功,发送邮件")
                isSend()
                break
            else:
                time.sleep(5)
                i+=1
                if i==4:
                    print("执行失败")
                    break
                print("执行失败重试三次,第" + str(i) + "次......")
        else:
            print("没有可用的安卓设备")
            break
Exemplo n.º 2
0
        mk_file('iOS')
        l_devices = []

        for dev in devicess:
            app = {}
            app["devices"] = dev
            app["port"] = str(random.randint(4700, 4900))
            app["bport"] = str(random.randint(4700, 4900))
            app["app"] = BaseInit.ipaPath
            l_devices.append(app)

        appium_server = AppiumServer(l_devices)
        appium_server.start_server()
        runnerPool(l_devices)
        writeExcel()
        appium_server.stop_server(l_devices)

        # 删除temp文件
        remove_file(PATH("../yamls/temp.yaml"))

        print("============开始导出crashreport==========")
        find_str = 'XiaoYing-'  # 待测app crashreport文件关键字
        file_format1 = [".ips"]  # 导出的crash文件后缀
        file_format2 = [".crash"]  # 解析后的crash文件后缀

        reportPath = PATH("../Log/CrashInfo/iOS/")
        beforePath = os.path.join(reportPath + '/Before')
        if not os.path.exists(beforePath):
            os.makedirs(beforePath)

        afterPath = os.path.join(reportPath + '/After')
Exemplo n.º 3
0

def runnerCaseApp(devices):
    starttime = datetime.now()
    suite = unittest.TestSuite()
    # suite.addTest(ParametrizedTestCase.parametrize(FirstOpenTest, param=devices))
    # suite.addTest(ParametrizedTestCase.parametrize(LoginTest, param=devices))
    suite.addTest(ParametrizedTestCase.parametrize(WriteTest, param=devices))
    # fp = open(PATH("../report/index.html"), "wb")
    # runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u"自动化测试报告", description=u"用例执行情况")
    # runner.run(suite)
    # fp.close()
    unittest.TextTestRunner(verbosity=2).run(suite)
    endtime = datetime.now()
    countDate(datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
              str((endtime - starttime).seconds) + "秒")


if __name__ == '__main__':
    if AndroidDebugBridge().attached_devices():
        getDevices = init()
        appium_server = AppiumServer(getDevices)
        appium_server.start_server()
        while not appium_server.is_runnnig():
            time.sleep(2)
        runnerPool(getDevices)
        appium_server.stop_server()
        writeExcel()
    else:
        print(u"设备不存在")
Exemplo n.º 4
0
    unittest.TextTestRunner(verbosity=2).run(suite)
    endtime = datetime.now()
    countDate(datetime.now().strftime('%Y-%m-%d %H:%M:%S'), str((endtime - starttime).seconds) + "秒")

if __name__ == '__main__':

    kill_adb()

    devicess = AndroidDebugBridge().attached_devices()
    if len(devicess) > 0:
        mk_file()
        l_devices = []
        for dev in devicess:
            app = {}
            app["devices"] = dev
            init(dev)
            app["port"] = str(random.randint(4700, 4900))
            app["bport"] = str(random.randint(4700, 4900))
            app["systemPort"] = str(random.randint(4700, 4900))
            app["app"] = PATH("../app/com.ximalaya.ting.android.apk") # 测试的app路径,喜马拉雅app

            l_devices.append(app)

        appium_server = AppiumServer(l_devices)
        appium_server.start_server()
        runnerPool(l_devices)
        writeExcel()
        appium_server.stop_server(l_devices)
    else:
        print("没有可用的安卓设备")