Beispiel #1
0
 def flow_coin(self):
     # self.login_key()
     # self.skip_page()
     # self.check_bounced()
     try:
         flows = self.driver.find_elements(*self.flow_btn)
     except NoSuchElementException:
         logs.error("the flow_btn element not found")
     else:
         flows[2].click()
         self.driver.find_element(*self.exchange_btn).click()
         exc_list = self.driver.find_elements(
             *self.exchange_flow_btn)  #页面有多个相同按钮,读取列表形式在切片取值
         try:
             exc_list[1].click()
             btn_left = self.driver.find_element(
                 *self.button_left)  #确认兑换提示框
         except NoSuchElementException:
             logs.info("流量币不足或已抢光!")
             self.getScreenshot("flowNotEnough")
         else:
             btn_left.click()
             total = self.driver.find_element(
                 *self.flow_total_ele).get_attribute("text")
             self.getScreenshot("exchange_flow")
             return int(total)
Beispiel #2
0
 def get_driver(self):
     data = self.conf.get_yamlfile()
     try:
         capabs = {}
         capabs["platformName"] = data["platformName"]
         capabs["platformVersion"] = data["platformVersion"]
         capabs["deviceName"] = data["deviceName"]
         # capabs["udid"] = data["udid"]
         # base_dir = os.path.dirname(os.path.dirname(__file__)) #获取当前文件根目录
         base_dir = r"E:\appium_apk" #apk在电脑上的路径,启动成功后会自动安装apk
         # app_path = os.path.join(base_dir,'app',data["appname"])
         app_path = os.path.join(base_dir,data["appname"])
         capabs["app"] = app_path
         capabs["appPackage"] = data["appPackage"]
         capabs["appActivity"] = data["appActivity"]
         capabs["noReset"] = data["noReset"]
         capabs["automationName"] = data["automationName"] #打开这行可能会导致运行不稳定
         # capabs["unicodeKeyboard"] = data["unicodeKeyboard"]
         capabs["newCommandTimeout"] = data["newCommandTimeout"]
         logs.info("start app...")
         driver = webdriver.Remote("http://%s:%s/wd/hub"%(data["ip"],data["port"]),capabs)
         # 设置隐性等待,在规定的时间内页面的所有元素都加载完了就执行下一步,否则一直等到时间截止,然后再继续下一步。
         driver.implicitly_wait(10)
         return driver
     except Exception as e:
         logs.error("Appium服务未启动或设备devices未连接!",e)
         exit()
Beispiel #3
0
 def check_login_status(self):
     try:
         self.driver.find_element(*self.ibtn).click()
         self.find_element(*self.phone_tv)
     except NoSuchElementException:
         logs.info("login fail!")
         self.getScreenshot('login fail')  #失败截图
         return False
     else:
         logs.info("login success!")
         return True
Beispiel #4
0
 def logoutView(self):
     try:
         self.check_bounced()
     except NoSuchElementException:
         pass
     else:
         self.driver.find_element(*self.ibtn).click()
         self.driver.find_element(*self.setting_btn).click()
         self.driver.find_element(*self.logout_btn).click()
         self.driver.find_element(*self.button_left).click()
         logs.info("logout success!")
         self.getScreenshot("logout")
Beispiel #5
0
import HTMLTestRunner
import unittest
from common.recordlog import logs
import time
from base.globalpath import report_path, testcase_path
from common.sendEmail import SendEmail

if __name__ == "__main__":

    load_case = unittest.defaultTestLoader.discover(
        testcase_path, 'test_flowcoin.py')  #加载用例,固定的
    # # load_case = unittest.defaultTestLoader.discover(testcase_path,'test_*.py') #模糊匹配
    now = time.strftime("%Y-%m-%d %H_%M_%S")
    report_name = report_path + "\%s_%s" % (now, "testReport.html")  #报告名称
    with open(report_name, 'wb') as rf:
        runner = HTMLTestRunner.HTMLTestRunner(
            stream=rf, title='惠三秦UI自动化测试', description='惠三秦Android端测试用例执行结果')
        logs.info("start run test case!")
        runner.run(load_case)
    # SendEmail().send_email(report_name)
Beispiel #6
0
 def getScreenshot(self,module):
     time = self.getTime()
     image_file = '%s/%s_%s.png'%(screen_path,module,time)
     logs.info("get %s screenshot"%module)
     self.driver.get_screenshot_as_file(image_file)