Example #1
0
 def isElementExist(self, func):
     try:
         func
         logger.info("判断元素是否存在:   找到%s元素:%s" % func)
         return True
     except:
         logger.info("判断元素是否存在:   元素未找到:%s" % func)
         return False
Example #2
0
 def trywait(self, func, count=3):
     num = 0
     while num != count:
         try:
             return func
         except:
             logger.info("显式等待:  %s:元素未找到,当前第%s次寻找" % (func, num))
             num += 1
             time.sleep(0.5)
Example #3
0
 def trywait_assert_xpath(self, func, count=3):
     num = 0
     while num != count:
         try:
             self.driver.find_element_by_xpath(func)
             return True
         except:
             logger.info("等待断言:   %s:元素未找到,当前第%s次寻找" % (func, num + 1))
             num += 1
             time.sleep(0.5)
     return False
Example #4
0
 def trywait_assert(self, func, count=3):
     num = 0
     while num != count:
         logger.error('%s' % str(num))
         logger.error('jinlailo ')
         try:
             func
             return True
         except:
             logger.info("等待断言:   %s:元素未找到,当前第%s次寻找" % (func, num))
             num += 1
             time.sleep(0.5)
     return False
Example #5
0
 def cp_trywait(self, css1, css2):
     state = self.driver.find_element_by_css_selector(css1).text
     seconds = self.driver.find_element_by_css_selector(css2).text
     logger.info(state, seconds)
     if state[-2:] == u"截止" and int(seconds) >= 20:
         logger.info("当前状态 {}  时间 {}".format(state, seconds))
     else:
         time.sleep(int(seconds) + 2)
         logger.info("封盘中! 等待 {} s".format(seconds))
Example #6
0
 def is_element_exist(self, func):
     s = func
     if len(s) == 0:
         # print("元素未找到:%s" % value)
         logger.info("判断元素是否存在:  元素未找到:%s" % func)
         return False
     elif len(s) == 1:
         # print("元素:%s 已找到" % value)
         logger.info("判断元素是否存在:  元素:%s 已找到" % func)
         return True
     else:
         # print("找到%s个元素:%s" % value)
         logger.info("判断元素是否存在:  找到%s个元素:%s" % func)
         return False
Example #7
0
    def get_verificationCode(self, func):
        self.driver.save_screenshot('img\\verificationCode.png')
        element = func
        logger.info("获取图片元素坐标 {}".format(element.location))
        logger.info("获取图片元素大小 {}".format(element.size))

        left = element.location['x']
        top = element.location['y']
        right = element.location['x'] + element.size['width']
        bottom = element.location['y'] + element.size['height']

        im = Image.open('img\\verificationCode.png')
        im = im.crop((left, top, right, bottom))
        im.save('img\\verificationCode.png')

        value = code_demo('', '', 'img\\verificationCode.png', '7100')  # 请输入若快账户密码
        logger.info("若快识别结果为    {}".format(value))
        return value
Example #8
0
 def xpath(self, value):
     # print("Xpath 元素定位:%s" % value)
     logger.info("Xpath 元素定位:%s" % value)
     return self.driver.find_element_by_xpath(value)
Example #9
0
 def css_size(self, css):
     num = self.driver.find_element_by_id(css).size
     logger.info("获取css元素大小   %s  大小:%s" % (css, num))
     return num
Example #10
0
 def rm_cooke(self, cooke):
     logger.info("删除浏览器 %s Cookie" % cooke)
     self.driver.delete_cookie(cooke)
Example #11
0
 def forward(self):
     # print("浏览器前进")
     logger.info("浏览器前进")
     self.driver.forward()
Example #12
0
 def windowMax(self):
     # print("浏览器最大化")
     logger.info("浏览器最大化")
     self.driver.maximize_window()
Example #13
0
 def get_css_text(self, css):
     num = self.driver.find_element_by_css_selector(css).text
     logger.info("获取css元素值:%s 值为 %s" % (css, num))
     return num
Example #14
0
 def get_xpath_text(self, xpath):
     num = self.driver.find_element_by_xpath(xpath).text
     logger.info("获取xpath元素值:%s 值为 %s" % (xpath, num))
     return num
Example #15
0
 def get_name_text(self, name):
     num = self.driver.find_element_by_id(name).text
     logger.info("获取name元素值:%s 值为 %s" % (name, num))
     return num
Example #16
0
 def get_id_text(self, id):
     num = self.driver.find_element_by_id(id).text
     logger.info("获取id元素值:%s 值为 %s" % (id, num))
     return num
Example #17
0
 def xpath_size(self, xpath):
     num = self.driver.find_element_by_id(xpath).size
     logger.info("获取xpath元素大小   %s  大小:%s" % (xpath, num))
     return num
Example #18
0
 def openurl(self, url):
     logger.info("打开网页:%s" % url)
     # print("打开网页:%s" % url)
     self.driver.get(url)
Example #19
0
 def quit(self):
     # print("关闭浏览器")
     logger.info("关闭浏览器")
     self.driver.quit()
Example #20
0
 def id_size(self, id):
     num = self.driver.find_element_by_id(id).size
     logger.info("获取id元素大小   %s  大小:%s" % (id, num))
     return num
Example #21
0
 def customWindow(self, wide, hige):
     # print("设置浏览器宽高:%s, %s" % (wide,hige))
     logger.info("设置浏览器宽高:%s, %s" % (wide, hige))
     self.driver.set_window_size(wide, hige)
Example #22
0
 def className(self, value):
     # print("className 元素定位:%s" % value)
     logger.info("className 元素定位:%s" % value)
     return self.driver.find_element_by_class_name(value)
Example #23
0
 def back(self):
     # print("浏览器后退")
     logger.info("浏览器后退")
     self.driver.back()
Example #24
0
 def url(self,send_url):
     url = send_url
     logger.info("测试地址:" + url)
     return url
Example #25
0
 def rm_all_cooke(self):
     logger.info("删除浏览器所有Cookie")
     self.driver.delete_cookie()
Example #26
0
 def name_size(self, name):
     num = self.driver.find_element_by_id(name).size
     logger.info("获取name元素大小   %s  大小:%s" % (name, num))
     return num
    timeStr = time.strftime('%Y-%m-%d-%H', time.localtime(time.time()))
    path = 'Report\\' + timeStr[:10] + '\\' + timeStr[11:]
    try:
        os.makedirs(path)
        print('\033[1;31m' + u'文件目录不存在,正在创建...' + '\033[0m')
    except:
        print('\033[1;31m' + u'文件目录已存在,不需重新创建。' + '\033[0m')

    return os.path.join(cur_path, path)  # 报告存放路径


if __name__ == "__main__":
    report_path = mkfile()
    discover = unittest.defaultTestLoader.discover(
        case_path, "*.py")  # 自动测试该文件夹下所有用例,如要单独执行则如:test001.py
    run = HTMLTestRunner.HTMLTestRunner(
        title="CP项目自动化测试报告",
        description="测试环境:{}、python {}、Selenium2、{}:{}".format(
            platform.platform(), pythonVersions,
            el.capabilities['browserName'], el.capabilities['version']),
        tester="最棒QA",
        stream=open(report_path + "\\ TestReport.html", "wb"),
        verbosity=1.1)
    el.quit()  # 关闭多余浏览器
    run.run(discover)
    time.sleep(5)
    mail("[email protected],[email protected],[email protected]")
    logger.info(
        '向"[email protected],[email protected],[email protected]" 发送测试报告邮件')
    logger.info("测试结束")
Example #28
0
 def citlyWait(self, ti):
     logger.info("隐式等待 %s 秒" % ti)
     self.driver.implicitly_wait(ti)
Example #29
0
 def dump(self,data):
     dump = json.dumps(data)
     logger.info(data)
     print(data)
     return dump
Example #30
0
 def text(self, value):
     # print("Text 元素定位:%s" % value)
     logger.info("Text 元素定位:%s" % value)
     return self.driver.find_element_by_link_text(value)