from selenium import webdriver import unittest from HwTestReport import HTMLTestReport from HwTestReport import HTMLTestReportEN import time from PIL import Image import os import re import pytesseract class Case_login(unittest.TestCase): def setUp(self): self.imgs = [] self.driver = webdriver.Chrome() def tearDown(self): self.driver.quit() def get_screenshot(self): self.imgs.append(self.driver.get_screenshot_as_base64()) return True def login_buy(self): self.driver.get('http://172.16.2.80:8888/shop-app/#/login?returnUrl=%2Fpersonal') self.driver.maximize_window() def register_success(self): # chrome_options = webdriver.ChromeOptions() # chrome_options.add_experimental_option( # "mobileEmulation", # {"deviceName":"iPhone X"}) # print(chrome_options.to_capabilities()) # driver = webdriver.Chrome(desired_capabilities = chrome_options.to_capabilities()) # self.driver.implicitly_wait(10) self.driver.get('http://172.16.2.80:8888/shop-app/#/signUp') self.get_screenshot() today = time.strftime("%d%H%M%S", time.localtime()) # 输入手机号码 self.driver.find_element_by_xpath('//input[@placeholder="输入手机号码"]').send_keys('134'+today) # 输入验证码 self.driver.find_element_by_xpath('//input[@placeholder="输入验证码"]').send_keys('123456') # 输入密码 self.driver.find_element_by_xpath('//input[@placeholder="密码需包含字母和数字,在8~20位之间"]').send_keys('Aa123456') # 输入密码 self.driver.find_element_by_xpath('//input[@placeholder="确认密码"]').send_keys('Aa123456') # 您的用户名 self.driver.find_element_by_xpath('//input[@placeholder="您的用户名"]').send_keys('134'+today) # 输入推荐码 self.driver.find_element_by_xpath('//input[@placeholder="推荐码(没推荐人无需填写)"]').send_keys('2EJFXV') self.get_screenshot() #輸入驗證碼 code = input('请输入验证码:') self.driver.find_element_by_xpath('//input[@placeholder="输入图形验证码"]').send_keys(code) # 点击获取验证码 self.driver.find_element_by_xpath('//div//span[text()="获取验证码"]').click() #注册按鈕 self.driver.find_element_by_xpath('//div/button').click() time.sleep(2) self.get_screenshot() time.sleep(2) # 点击确认,关闭弹框 # self.driver.find_element_by_xpath('//div[@role="dialog"]//button').click() # time.sleep(2) # 点击我的 self.driver.find_element_by_xpath('//div[@class="van-tabbar-item__text"]/span[text()="我的"]').click() time.sleep(1) self.get_screenshot() try: error_message = self.driver.find_element_by_xpath('//div[@class="van-tabbar-item__text"]/span[text()="我的"]').text self.assertFalse(self.driver.find_element_by_xpath('//div[@class="van-tabbar-item__text"]/span[text()="我的"]').is_enabled()) print('提示信息错误!预期值与实际值不符!') print('预期結果:登錄成功,沒有提示') print('实际結果:' + error_message) except: print('提示信息正确!预期值与实际值一致.') print('预期結果:註冊成功,提示註冊成功') print('实际結果值:註冊成功,提示註冊成功') self.get_screenshot() if __name__ == "__main__": suite = unittest.TestSuite() #suite.addTest(Case_login('login_code_wrong')) suite.addTest(Case_login('register_success')) today = time.strftime("%Y-%m-%d %H%M%S", time.localtime()) with open('./'+ today + '酒微倉測試報告.html','wb')as report: runner = HTMLTestReport(stream=report,verbosity=2,images=True,title='酒微倉 TestReport',description='Login Test',tester='Connie') runner.run(suite) report.close()