Ejemplo n.º 1
0
def init_app(plat, package_name, app_path, sleep_time, serialno=None):
    dev = None
    if plat.lower().find('android') >= 0:
        if serialno:
            if re.search('127.0.0.1:\d+', serialno):
                dev = connect_device('Android:///{}?cap_method=JAVACAP&ori_method=ADBORI'.format(serialno))
            else:
                dev = connect_device('Android:///{}'.format(serialno))
        else:
            dev = connect_device('Android:///')
        wake()
        install_android_app(current_device().adb, app_path)
        stop_app(package_name)
        start_app(package_name)
        sleep(sleep_time / 1.5)
    elif plat == 'PC_editor':
        w = Windows()
        dev = UnityEditorWindow()
        w.keyevent('^P')  # Ctrl+P运行
        sleep(sleep_time / 2)
        dev.stop_app = w.app  # 用于获取进程id,结束进程用
    elif plat == 'PC_win':
        w = Windows()
        w.start_app(app_path)
        sleep(sleep_time)
        w.connect(process=w.app.process)
        dev = connect_device("Windows:///?class_name=UnityWndClass")
        dev.stop_app = w.app
    # elif plat == 'iOS':
    #     pass
    # elif plat == 'MAC_editor':
    #     pass
    return dev
Ejemplo n.º 2
0
 def stop_app(self):
     """
     杀掉app
     :return:
     """
     self.check_device()
     stop_app(self.app_name)
Ejemplo n.º 3
0
 def _stop_app(self,package:Key):
     '''
     关闭app
     :param package:app包名
     :return:
     '''
     stop_app(package.value)
Ejemplo n.º 4
0
 def setUp(self):
     stop_app("com.gameholic.drawsomethingbyspider")
     clear_app("com.gameholic.drawsomethingbyspider")
     wake()
     home()
     start_app("com.gameholic.drawsomethingbyspider")
     sleep(7)
     self.poco = UnityPoco()
     print("handBook test start")
Ejemplo n.º 5
0
 def setUp(self):
     stop_app("com.gameholic.drawsomethingbyspider")
     clear_app("com.gameholic.drawsomethingbyspider")
     wake()
     home()
     start_app("com.gameholic.drawsomethingbyspider")
     sleep(7)
     self.poco = UnityPoco()
     print("test reward level no coins start")
Ejemplo n.º 6
0
    def setUp(self):

        # connect_device("android:///")
        # self.poco1 = AndroidUiautomationPoco(force_restart=False)
        stop_app("com.gameholic.drawsomethingbyspider")
        clear_app("com.gameholic.drawsomethingbyspider")
        wake()
        home()
        start_app("com.gameholic.drawsomethingbyspider")
        sleep(7)
        self.poco = UnityPoco()
Ejemplo n.º 7
0
    def dr_finalizer():
        stopapp = request.config.getoption("stopapp")
        if stopapp == True or stopapp == 'True':
            stop_app(APP_PACKAGE)
            clear_app(APP_PACKAGE)
            print()
            print('conftest: stop app')

        if airtesthtml and airtestlog:
            custom_report(case_info,
                          logdir,
                          online_path=online_path,
                          proj_name=PROJ_NAME,
                          static_root=static_root)
Ejemplo n.º 8
0
def restart_app_by_scan():
    try:
        stop_app("com.taobao.qianniu")  # 如果应用存在后台,先停止,保证能够进入千牛工作台首页
    finally:
        start_app('com.taobao.qianniu')  # 启动千牛工作台
    try:
        poco('com.taobao.qianniu:id/workbench_title_scan').click()
        poco('com.taobao.qianniu:id/btn_album').click()
        poco(name='显示根目录').click()
        poco(text='图库').click()
        poco(text='trade').click()
        poco('com.android.gallery3d:id/iv_thumbnail').click()
        poco(desc='确定').click()
    except PocoNoSuchNodeException:
        restart_app_by_scan()
Ejemplo n.º 9
0
    def testMakeLv(self):
        self.permissionClick()
        self.autoUpdate()
        self.login("wn10001", "z123456")
        self.waitLogin()
        sleep(5)
        #进入制作关卡
        self.enterMakelevel()
        #查看帮助
        self.lookHelp()
        #退出关卡
        self.exitMylevel()
        #再次进入制作关卡
        self.enterMakelevel()
        #内网可以测试滑动我的关卡
        self.swipeMylevel()
        #添加关卡
        self.addLevel()
        #关闭免责声明
        self.closeDisclaimer()
        self.addLevel()
        #同意免责声明
        self.agreeDisclaimer()
        #测试切换标签
        self.switchLebel()
        #关闭制作关卡
        self.closeMakeLevel()
        self.addLevel()
        self.agreeDisclaimer()
        #发布关卡缺少怪物失败,添加怪物
        self.publish()
        #发布关卡缺少背景失败,添加背景
        self.publish()
        #发布关卡缺少名称失败,添加名称
        self.publish()
        #发布成功
        self.publish()
        #测试关卡修改
        self.modifyLevel()
        self.updatePrivacy()
        self.swipeMylevel()
        self.deleteLevel()

        #结束测试
        stop_app("com.gameholic.drawsomethingbyspider")
        sleep(2.0)
        snapshot(msg="app stopped")
        print("finish test")
Ejemplo n.º 10
0
 def autoUpdate(self):
     # self.poco = UnityPoco()
     sleep(2)
     loadingTime = 0
     try:
         while self.poco("tip1").exists():
             sleep(5)
             loadingTime += 5
             if loadingTime >= 300:
                 if "url" in self.poco("error").get_text():
                     print("更新失败")
                     stop_app("com.gameholic.drawsomethingbyspider")
                 else:
                     sleep(5)
     except RuntimeError as e:
         raise e
Ejemplo n.º 11
0
 def testRanking(self):
     self.permissionClick()
     self.autoUpdate()
     self.login("wn10001", "z123456")
     self.waitLogin()
     sleep(5)
     #进入排行榜
     self.poco("Ranking").click()
     sleep(1)
     if self.poco(text="What a surprise!").exists():
         self.poco(text="No").click()
         sleep(1)
     if self.poco("Text_Title").get_text() == "Ranking":
         print("进入排行榜成功")
     #退出排行榜
     self.poco("Btn_Back").click()
     sleep(1)
     if not self.poco("Text_Title").exists():
         print("退出排行榜成功")
     #查看总榜
     self.poco("Ranking").click()
     sleep(1)
     if self.poco(text="What a surprise!").exists():
         self.poco(text="No").click()
         sleep(1)
     #查看巨星总榜
     self.lookRanking("Total", "Superstar")
     #查看猎人总榜
     self.lookRanking("Total", "Hunter")
     #查看工匠总榜
     self.lookRanking("Total", "Craftsman")
     #查看巨星周榜
     self.lookRanking("Weekly", "Superstar")
     #查看猎人周榜
     self.lookRanking("Weekly", "Hunter")
     #查看工匠周榜
     self.lookRanking("Weekly", "Craftsman")
     #领奖
     self.myReward()
     #退出排行榜
     self.poco("Btn_Back").click()
     #完成测试
     stop_app("com.gameholic.drawsomethingbyspider")
     # sleep(2.0)
     # snapshot(msg="app stopped")
     print("ranking finish test")
Ejemplo n.º 12
0
def init_app(plat=SD.PLAT, package_name=SD.PACKAGE_NAME, app_path=SD.APP_PATH[SD.PLAT], sleep_time=SD.SLEEP_TIME,
             serialno=SD.SERIALNO):
    dev = None
    if plat == 'android':
        if SD.USE_ATX_SERVER2:
            atx_server2 = AtxServer2()
            device_info = atx_server2.get_usable_device_info()
            SD.UDID = device_info['udid']
            serialno = device_info['source']['remoteConnectAddress']
        if serialno and serialno.strip() != '':
            if re.search(r'127.0.0.1:\d+', serialno):
                logger.debug('模拟器用JAVACAP和ADBORI')
                dev = connect_device(f'Android:///{serialno}?cap_method=JAVACAP&ori_method=ADBORI')
            else:
                logger.debug(f'指定连接serialno: {serialno}')
                dev = connect_device(f'Android:///{serialno}')
        else:
            dev = connect_device('Android:///')
        wake()
        install_android_app(current_device().adb, app_path)
        stop_app(package_name)
        logger.debug(f'启动app:{package_name}')
        start_app(package_name)
        sleep(sleep_time / 1.5)
    elif plat == 'pc_editor':
        w = Windows()
        dev = UnityEditorWindow()
        w.keyevent('^P')  # Ctrl+P运行
        sleep(sleep_time / 2)
        dev.stop_app = w.app  # 用于获取进程id,结束进程用
    elif plat == 'pc_win':
        w = Windows()
        w.start_app(app_path)
        sleep(sleep_time)
        w.connect(process=w.app.process)
        dev = connect_device("Windows:///?class_name=UnityWndClass")
        dev.stop_app = w.app
    # elif plat == 'ios':
    #     pass
    # elif plat == 'mac_editor':
    #     pass
    return dev
Ejemplo n.º 13
0
 def inner(*args, **kwargs):
     print(f"测试开始 {test_name}")
     start_case(test_name)
     from airtest.core.api import start_app, stop_app
     stop_app(app_package)
     start_app(app_package)
     recorder_queue.put(test_name)  # 这里启动监控
     result = None
     try:
         result = func(*args, **kwargs)
     except Exception as e:
         logger.error(e)
         logger.error(traceback.format_exc())
     recorder_queue.put(DefaultConfig.RECORD_CASE_END_MARK)
     time.sleep(1)
     stop_app(app_package)
     print(f"测试结束 {test_name}")
     stop_case(test_name)
     time.sleep(5)
     return result
Ejemplo n.º 14
0
    def testCommentNotEnoughCoins(self):

        self.permissionClick()
        self.autoUpdate()
        self.login("wn10002", "z123456")
        self.waitLogin()
        sleep(5)

        self.enterReward()
        #金币不足无法进入一个关卡
        self.enterOneReward()
        #进入评论,输入星级和评论文字,点击评论,提示金币不足
        self.poco("Tree").child()[0].child("Evaluate").click()
        sleep(1)
        self.startRating()
        self.enterCommnet()
        self.comment()
        #结束测试
        stop_app("com.gameholic.drawsomethingbyspider")
        sleep(2.0)
        snapshot(msg="app stopped")
        print("finish test")
Ejemplo n.º 15
0
    def testCommentNoPlayed(self):

        self.permissionClick()
        self.autoUpdate()
        self.login("wn10008", "z123456")
        self.waitLogin()
        sleep(5)

        self.enterReward()
        self.poco("Tree").child()[0].child("Evaluate").click()
        sleep(1)
        self.startRating()
        self.enterCommnet()
        self.comment()
        self.poco("Return").click()
        sleep(1)
        self.poco("Return").click()
        sleep(1)

        #结束测试
        stop_app("com.gameholic.drawsomethingbyspider")
        sleep(2.0)
        snapshot(msg="app stopped")
        print("finish test")
Ejemplo n.º 16
0
    def testBasicLevel(self):
        # init_device()
        self.permissionClick()
        self.autoUpdate()
        self.login("wn10001", "z123456")
        self.waitLogin()
        sleep(5)

        # self.self.poco = Unityself.poco()
        self.poco(text="Basic Stage").click()
        sleep(1)
        if self.poco("Up").child("Text").get_text() == "Select Stage":
            assert ("进入基础关卡成功")
        self.poco("Explain").click()
        sleep(1)
        if self.poco("zi").exists():
            assert ("成功打开帮助")
        self.poco("confirm").click()
        sleep(1)
        if not self.poco("txt").exists():
            assert ("成功关闭帮助界面")
        for _ in range(4):
            self.poco.swipe([50.0 / 720, 400.0 / 1280],
                            [670.0 / 720, 400.0 / 1280])
            sleep(3)
        self.poco("Content").offspring('Levelnum1').click()
        sleep(1)
        if self.poco("HPimage").exists():
            assert ("成功进入具体关卡")
        sleep(1.0)
        self.poco("Return2").click()
        sleep(1)
        exitText = self.poco("lable").get_text()
        if exitText == "Are you sure you want to exit the game?":
            assert ("成功打开退出弹框")
        self.poco(text="Cancel").click()

        sleep(1)
        if not self.poco("lable").exists() and self.poco("HPimage").exists():
            assert ("成功关闭退出弹框")
        self.poco("Return2").click()
        sleep(1)
        if exitText == "Are you sure you want to exit the game?":
            assert ("再次成功打开退出弹框")
        self.poco(text="OK").click()
        if self.poco("Up").child("Text").get_text() == "Select Stage":
            assert ("成功退出具体关卡")
        for _ in range(4):
            self.poco.swipe([670.0 / 720, 400.0 / 1280],
                            [50.0 / 720, 400.0 / 1280])
            sleep(3)
        if self.poco("WaitAfter").exists():
            assert ("所有关卡都可以翻页")
        self.poco("Levelnum40").click()
        sleep(1)
        if not self.poco("HPimage").exists() and self.poco("Up").exists():
            assert ("未解锁关闭无法进入")
        self.poco("Return").click()
        sleep(1)
        if self.poco("StartGame").exists():
            assert ("返回主界面成功")

        stop_app("com.gameholic.drawsomethingbyspider")
        sleep(2.0)
        snapshot(msg="app stopped")
        print("basic level finish test")
Ejemplo n.º 17
0
 def teardown(self):
     stop_app("com.gameholic.drawsomethingbyspider")
Ejemplo n.º 18
0
def tearDownModule():
    stop_app('com.caibaopay.cashier')
Ejemplo n.º 19
0
 def tearDown(self):
     stop_app(self.package_name)
Ejemplo n.º 20
0
    def testRewardLevel(self):
        self.permissionClick()
        self.autoUpdate()
        self.login("wn10001", "z123456")
        self.waitLogin()
        sleep(7)
        player = self.getUserData()
        #进入悬赏关卡
        self.enterReward()
        #查看帮助
        self.rewardHelp()
        #切换标签测试
        self.changeLabel()
        #列表滑动测试
        self.swipeList()
        #筛选测试
        #由于bug会复制filters,所以退出重进
        self.filterOpen()
        self.switchFliters()
        self.cancelAll()
        self.recoveryFilters()
        #由于bug会复制filters,所以退出重进
        self.poco("Return").click()
        sleep(1)
        self.poco("RewardLV").click()
        sleep(1)
        self.onlyMine(player)
        self.recoveryFilters()
        #具体关卡进入和退出
        self.enterOneReward()
        #进入评论
        self.poco("Tree").child()[0].child("Evaluate").click()
        sleep(1)
        #直接评论弹出星级不能为空
        self.comment()
        # #输入星级再评论弹出文字不能为空
        self.startRating()
        self.comment()
        # #输入文字再评论弹出评论成功
        self.enterCommnet()
        self.comment()
        #点赞和踩
        self.like()
        self.hate()
        #举报测试
        self.reportLevel()
        self.poco("Btn_Back").click()
        sleep(1)
        #长按测试
        self.longPress()

        stop_app("com.gameholic.drawsomethingbyspider")
        self.permissionClick()
        self.autoUpdate()
        self.login("wn10008", "z123456")
        self.waitLogin()
        sleep(5)

        self.enterReward()
        self.poco("Tree").child()[0].child("Evaluate").click()
        sleep(1)
        self.startRating()
        self.enterCommnet()
        self.comment()
        self.poco("Return").click()
        sleep(1)
        self.poco("Return").click()
        sleep(1)

        #结束测试
        stop_app("com.gameholic.drawsomethingbyspider")
        sleep(2.0)
        snapshot(msg="app stopped")
        print("finish test")
Ejemplo n.º 21
0
 def tearDownClass(cls):
     stop_app("com.gameholic.drawsomethingbyspider")
Ejemplo n.º 22
0
 def stopApp(self,package,device):
     if G.DEVICE == None:
         connect_device(device)
     stop_app(package)
Ejemplo n.º 23
0
def tests_runner(main_script, file_config):
    # читаем конфиг из config-файла
    package, data_config = read_data_from_config(file_config)
    gl_report = []

    # на сколько я понял это каждый раз открывает новое соединение
    
    '''
    # подключаемся к девайсу
    if run_on_emulator: # для эмулятора
        init_device(platform='Android', cap_method='JAVACAP', ori_method='ADBORI')
    else: # для девайса
        init_device(platform='Android')
        log('Init Device')
    '''
    init_device(platform='Android')
    dev = device()
    poco = UnityPoco()

    # вроде всё готово для тестов:
    t0 = time.time();
    out('Cases::tests_runner()... started')
    
    # выставляем значения по умолчанию потому что предыдущего теста не было
    last_test_stop_app = False
    need_wake = True
    # for line in data_csv:
    for line in data_config:
        # из config-файла
        test_id, f_wake, f_stop_before, f_clear_app, f_push_saves, \
        f_start_app, f_stop_after = parse_line_from_config(line)
    
        if need_wake:
            f_wake = True
            need_wake = False
    
        if last_test_stop_app:
            f_stop_before = True
            f_start_app = True
            last_test_stop_app = False
    
        # создаём логирование
        log_path = 'report(' + test_id + ')'
        set_logdir(log_path)
    
        #  пробуждаем устройство
        if f_wake: 
            wake()
            
        #  останавливаем приложение
        if f_stop_before: 
            stop_app(package);
            time.sleep(1)

        #  отчистить даные приложения            
        if f_clear_app: 
            clear_app(package)
            
        #  подсовываем сэйвы
        if f_push_saves != '': 
            push_my_saves(f_push_saves, package)
            
        #  стартуем приложение
        if f_start_app: 
            start_app(package)
            time.sleep(10)
            poco = UnityPoco()

        # запускаем тест
        tt0 = time.time();
        result, runned = test_runner(dev, poco, test_id)
        dtt = time.time() - tt0
        print('test: ' + test_id + '; ' + \
              'runned: ' + str(runned) + '; ' + \
              'result: ' + str(result) + '; ' + \
              'time(sec): ' + str(int(dtt)))
        print('-----------------------')
        if not result:
            last_test_stop_app = True
            f_stop_after = True
        gl_report.append([test_id, runned, result, dtt])
        
        #  останавливаем приложение
        if f_stop_after: 
            last_test_stop_app = True
            stop_app(package)
            
        # далее обязательная секция чтобы сгенерить отчёт
        report_path = get_log_path(main_script, log_path)
        print(report_path)
        simple_report(main_script, report_path, output='report(' + test_id + ').html')

    t1 = time.time()
    out('Cases::tests_runner()... complete (' + str(t1 - t0) + ' sec)')

    # заключительный репорт gl_report
    log_path = 'report'
    set_logdir(log_path)

    for gl_data in gl_report:
        txt = gl_data[0] + ' '
        prop = ''
        if not gl_data[1]:
            prop += 'тест не найден'
        else:
            txt += '(' + str(int(gl_data[3])) + ' sec)'
            if not gl_data[2]:
                prop += 'тест не пройден'
        out(txt, prop)

    # далее обязательная секция чтобы сгенерить отчёт
    report_path = get_log_path(main_script, log_path)
    print(report_path)
    simple_report(main_script, report_path, output='global_report.html')
Ejemplo n.º 24
0
 def tearDownClass(cls):
     stop_app(cls.package_name)
     super(CalculatorCase, cls).tearDownClass()
Ejemplo n.º 25
0
    def testHandBook(self):
        self.permissionClick()
        self.autoUpdate()
        self.login("wn10001", "z123456")
        self.waitLogin()
        sleep(5)

        #进入图鉴
        # poco = UnityPoco()
        self.poco("Favorites").click()
        sleep(1)
        if self.poco(text="Handbook").get_text() == 'Handbook':
            print("进入图鉴成功")
        #查看帮助
        self.poco("Explain").click()
        sleep(1)
        if self.poco("txt").exists():
            print("打开帮助成功")
            self.poco("confirm").click()
            sleep(1)
            if not self.poco("txt").exists():
                print("关闭帮助成功")
        #切换标签
        self.poco("Text (1)").click()
        sleep(1)
        if self.poco("10102").exists():
            print("切换悬赏关卡标签成功")
        self.poco(text="Basic Stage").click()
        sleep(1)
        if self.poco("Levelnum2001").exists():
            print("切换基础关卡标签成功")
        #滑动列表
        beforeSwipe = self.poco("Levelnum2001").child("thumbnail").child("Image").get_position()
        self.poco("OursLevel").swipe([0,-0.2])
        sleep(2)
        afterSwipe = self.poco("Levelnum2001").child("thumbnail").child("Image").get_position()
        if beforeSwipe != afterSwipe:
            assert("滑动基础关卡图鉴成功")  
        self.poco("OursLevel").swipe([0,0.4])
        sleep(2)
        #查看具体图鉴
        self.poco("Levelnum1").click()
        sleep(1)
        if self.poco(texture="zhizuoguanka_kuang").exists():
            print("查看具体图鉴成功")
        #恢复图鉴状态
        for _ in range(2):
            self.poco("Left").click()
            sleep(1)
        #读取第1、3张图位置
        beforeSwipe1 = self.poco("Scroll View").child("Content").child("pic")[0].child("Panel").child("image").get_position()
        beforeSwipe3 = self.poco("Scroll View").child("Content").child("pic")[2].child("Panel").child("image").get_position()
        for _ in range(3):
            self.poco("BigPic").child("Middle").child("Scroll View").swipe([-0.4,0])   
            sleep(1)
        afterSwipe3 = self.poco("Scroll View").child("Content").child("pic")[2].child("Panel").child("image").get_position()
        if beforeSwipe3 != afterSwipe3:
            assert("向右滑动翻页成功")
        for _ in range(3):
            self.poco("BigPic").child("Middle").child("Scroll View").swipe([0.4,0])   
            sleep(1)
        afterSwipe1 = self.poco("Scroll View").child("Content").child("pic")[0].child("Panel").child("image").get_position()
        if beforeSwipe1 == afterSwipe1:
            assert("向左滑动翻页成功")

        for _ in range(2):
            self.poco("right").click()
            sleep(1)
        afterClick3 = self.poco("Scroll View").child("Content").child("pic")[2].child("Panel").child("image").get_position()
        if afterClick3 == afterSwipe3:
            assert("点击右翻页成功")

        for _ in range(2):
            self.poco("Left").click()
            sleep(1)
        afterClick1 = self.poco("Scroll View").child("Content").child("pic")[0].child("Panel").child("image").get_position()
        if afterClick1 == beforeSwipe1:
            assert("点击左翻页成功")

        self.poco("BigPic").child("Middle").child("Scroll View").click()
        if self.poco(text="Handbook").exists():
            assert("关闭具体图鉴成功")

        #退出图鉴
        self.poco("Return").click()
        sleep(1)
        if not self.poco(text="Handbook").exists():
            print("退出图鉴成功")
        print("handBook finish test")
        #完成测试
        stop_app("com.gameholic.drawsomethingbyspider")
        sleep(2.0)
        snapshot(msg="app stopped")
        print("finish test")
Ejemplo n.º 26
0
def runTest():
    stop_app("com.gameholic.drawsomethingbyspider")
    clear_app("com.gameholic.drawsomethingbyspider")
    wake()
    home()
    start_app("com.gameholic.drawsomethingbyspider")
    sleep(7)
    permissionClick()
    autoUpdate()
    login("wn10001", "z123456")
    waitLogin()
    sleep(5)
    poco = UnityPoco()


    #进入商店
    poco("Shop").click()
    sleep(1)
    #关闭购买去广告提示弹框

    if poco("BitchPopup").child("Image").child("Image").exists():
        print("弹出支付去广告成功")
        poco("Button").child("Text").click()
        if not poco("BitchPopup").child("Image").child("Image").exists():
            print("关闭弹框成功")
        sleep(1)
    #关闭商店
    poco("Return").click()
    sleep(1)
    if not poco(text="Limited").exists():
        print("退出商店成功")
    poco("Shop").click()
    sleep(1)
    #关闭购买去广告提示弹框
    if poco("BitchPopup").child("Image").child("Image").exists():
        print("弹出支付去广告成功")
        poco("Button").child("Text").click()
        sleep(1)
    #切换标签和购买
    #切换所有标签
    poco(text="Gift").click()
    sleep(1)
    if poco("PropName").get_text() == "Marvellous Gift":
        print("切换礼物标签成功")
    poco("Text (2)").click()
    sleep(1)
    if poco("PropName").get_text() == "Speed-up":
        print("切换到道具标签成功")
    poco(text="Diamonds").click()
    sleep(1)
    if poco(text="Super Gems Pack").get_text() == "Super Gems Pack":
        print("切换钻石标签成功")
    poco(text="Limited").click()
    sleep(1)
    if not poco("PropName").exists():
        print("切换到礼包标签成功")
    poco(text="Monster").click()    
    sleep(1)
    if poco(text="Green Fluffy").get_text() == "Green Fluffy":
        print("切换到怪物标签成功")
    #滑动列表
    poco(texture="monster_A1_1").wait_for_appearance()
    poco(texture="monster_A1_1").click()
    beforSwipe = poco(texture="monster_A1_1").get_position()
    
    poco.swipe([300.0/576, 850.0/1024],[300.0/576, 150.0/1024])
    sleep(2)
    afterSwipe = poco(texture="monster_A1_1").get_position()
    if beforSwipe != afterSwipe:
        print("滑动列表成功")
    else:
        print("滑动列表失败")
    #滑动回顶部
    poco.swipe([300.0/576, 150.0/1024],[300.0/576, 850.0/1024])
    sleep(2)
    #购买逻辑
    poco("Tree").child("ShopProp(Clone)")[0].child("BuyIt").child("Text").click()
    sleep(2)
    buyConfirm = poco("lable").get_text()
    if buyConfirm == "Confirm to purchase":
        print("打开确认购买弹框成功")
    #取消购买
    poco(text="Cancel").click()
    sleep(1)
    if not poco(text="Confirm to purchase").exists():
        print("取消购买成功")
    #wn10001购买怪物成功
    buy()
    #切换到钻石标签查看sdk调出
    poco(text="Diamonds").click()
    sleep(1)
    if poco(text="Super Gems Pack").get_text() == "Super Gems Pack":
        print("切换钻石标签成功")
    buy()

    #完成测试
    stop_app("com.gameholic.drawsomethingbyspider")
    sleep(2.0)
    snapshot(msg="app stopped")
    print("shop finish test")
Ejemplo n.º 27
0
    def testMonsterBook(self):
        self.permissionClick()
        self.autoUpdate()
        self.login("wn10001", "z123456")
        self.waitLogin()
        sleep(5)
        #由于怪物图鉴重新安装游戏后会消失的bug存在,所以先进入一个关卡解锁一个怪物
        self.poco(text="Basic Stage").click()
        sleep(1)
        for _ in range(4):
            self.poco.swipe([16.0 / 576, 400.0 / 1024],
                            [560.0 / 576, 400.0 / 1024])
            sleep(3)

        if self.poco("Levelnum1").child("thumbnail").child("Image").exists():
            self.poco("Levelnum1").child("thumbnail").child("Image").click()
            sleep(1)
        self.poco("Return2").click()
        sleep(1)
        self.poco(text="OK").click()
        sleep(1)
        self.poco("Return").click()
        sleep(1)
        #进入图鉴
        self.poco("MonsterCompose").click()
        sleep(1)
        if self.poco("Tree").child("LvTemplate(Clone)").child(
                "thumbnail").exists():
            print("进入图鉴成功")
        #测试帮助
        self.poco("Explain").click()
        sleep(1)
        helpText = self.poco("txt").get_text()
        if "Monsters illustrated" in helpText:
            print("打开帮助成功")
            self.poco("confirm").click()
            sleep(1)
            if not self.poco("zi").exists():
                print("关闭帮助成功")
        #测试单个怪物
        self.poco("Tree").child("LvTemplate(Clone)").child("thumbnail").click()
        sleep(1)
        if self.poco("MonsterInfo").exists():
            print("查看具体怪物详情成功")
        self.poco("Return").click()
        sleep(1)
        if not self.poco("MonsterInfo").exists():
            print("关闭具体怪物详情成功")
        #测试滑动
        beforeSwipe = self.poco("Tree").child("LvTemplate(Clone)")[0].child(
            "thumbnail").get_position()

        self.poco("Viewport").swipe([0, -0.4])
        sleep(2)
        afterSwipe = self.poco("Tree").child("LvTemplate(Clone)")[0].child(
            "thumbnail").get_position()

        assert_not_equal(beforeSwipe, afterSwipe, "滑动成功")

        #退出图鉴
        self.poco("Return").click()
        sleep(1)
        if not self.poco("Tree").child("LvTemplate(Clone)").child(
                "thumbnail").exists():
            print("退出怪物图鉴成功")

        #测试完成
        stop_app("com.gameholic.drawsomethingbyspider")
        sleep(2.0)
        snapshot(msg="app stopped")
        print("monster handbook finish test")
Ejemplo n.º 28
0
def init_app(package: str):
    if package_opened(package):
        stop_app(package)
    start_app(package)