Beispiel #1
0
    def appium_desired(self, device_name, android_version, port, run, cases):
        clear_cmd = 'adb -s ' + device_name + ' shell pm clear com.vanthink.student.debug'
        os.system(clear_cmd)

        android = {
            'platformName': 'Android',
            'deviceName': device_name,
            'package': 'com.tencent.mm',
            'platformVersion': android_version,
            'port': port,
            'systemPort': port + 10,
            'app': gv.PATH(gv.PACKAGE),
            'chromedriverExecutableDir': 'D:/Tools',
            'chromeOptions': {
                'androidProcess': 'com.tencent.mm:appbrand0'
            },  # 下拉入口
            "automationName": "UiAutomator2",
            "newCommandTimeout": 3600,
            "unicodeKeyboard": True,
            "resetKeyboard": True,
            "noReset": True
        }
        log = Log()
        log.set_logger(device_name, run.get_path() + '\\' + 'client.log')
        log.i('platformName: %s', android['platformName'])
        log.i('platformVersion: %s', android_version)
        log.i('deviceName: %s', device_name)
        log.i('app: %s', android['app'])
        log.i('appium server port: %d\n', port)

        addr = "http://127.0.0.1:%s/wd/hub" % port
        driver = webdriver.Remote(addr, android)
        base_page = BasePage()
        base_page.set_device_name(device_name)

        mysql = SqlDb()
        mysql.start_db()
        base_page.set_db(mysql)

        # 驱动driver 设置
        base_page.set_driver(driver)
        login_status = LoginStatus()
        login_status.set_status(False)

        # set cls.path, it must be call before operate on any page
        path = ReportPath()
        path.set_path(run.get_path())
        print('start cases')
        run.run_httprunner(cases)
        print('end')
        # driver.quit()
        return driver
Beispiel #2
0
    def _run_cases(server_url, run, cases):
        log = Log()
        log.set_logger(run.get_device()['deviceName'],
                       run.get_path() + '\\' + 'client.log')

        log.i('platformName: %s', run.get_device()['platformName'])
        log.i('platformVersion: %s', run.get_device()['platformVersion'])
        log.i('deviceName: %s', run.get_device()['deviceName'])
        log.i('app: %s', run.get_device()['app'])
        # log.i('package: %s', run.get_device()['package'])
        # log.i('appActivity: %s', run.get_device()['appActivity'])
        # log.i('noReset: %s', run.get_device()['noReset'])
        log.i('appium server port: %d\n', run.get_port())

        addr = "http://%s:%s/wd/hub" % (server_url['hostname'],
                                        server_url['port'])
        remote = run.get_device()
        # init driver
        driver = webdriver.Remote(addr, remote)

        # set cls.driver, it must be call before operate on any page
        base_page = BasePage()
        base_page.set_driver(driver)

        login_status = LoginStatus()
        login_status.set_status(False)

        # set cls.path, it must be call before operate on any page
        path = ReportPath()
        path.set_path(run.get_path())

        try:
            time.sleep(5)
            print('start cases')
            run.run(cases)
            print('end')
        except AssertionError as e:
            log.e('AssertionError, %s', e)

        # quit driver
        driver.quit()
Beispiel #3
0
    def start_driver(case_info, pro_name):
        opt = webdriver.ChromeOptions()
        opt.add_experimental_option(
            "prefs",
            {"profile.default_content_setting_values.media_stream_mic": 1})
        driver = webdriver.Chrome(chrome_options=opt)
        driver.maximize_window()
        driver.get(gv.BASE_URL)
        run = RunCases(pro_name)
        log = Log()
        log.set_logger(pro_name, run.get_path() + '\\' + 'client.log')
        log.i('测试项目:' + pro_name)
        log.i('测试工具:selenium')
        log.i('输出报告:' + str(run.get_path()) + '\n')

        base_page = BasePage()
        base_page.set_driver(driver)
        #
        path = ReportPath()
        path.set_path(run.get_path())  #
        sql = SqlDb()
        try:
            sql.start_db()
            time.sleep(3)
            run.create_report(case_info)
            driver.quit()
        except AssertionError as e:
            log.e('AssertionError, %s', e)
            print(e)
            driver.quit()
        sql.close_db()