class RegisterHandle: def __init__(self, driver): self.register_page = RegisterPage(driver) #输入邮箱 def send_user_email(self, email): self.register_page.get_user_email_element().send_keys(email) time.sleep(5) #输入用户名 def send_user_name(self, nickname): self.register_page.get_user_name_element().send_keys(nickname) time.sleep(5) #输入密码 def send_user_password(self, psd): self.register_page.get_user_password_element().send_keys(psd) time.sleep(5) #输入验证码 def send_user_code(self, code): self.register_page.get_user_code_element().send_keys(code) time.sleep(5) #点击登录 def click_register(self): self.register_page.get_register_btn_element().click()
class GetCode(object): def __init__(self,driver): self.driver = RegisterPage(driver) # 获取验证码图片 def get_code_image(self, file_name): self.driver.save_screenshot(file_name) code_element = self.driver.find_code_image_element() left = code_element.location['x'] top = code_element.location['y'] right = code_element.size['width'] + left height = code_element.size['height'] + top # 打开原截图,并通过坐标截取验证码区域图片,并保存 im = Image.open(file_name) img = im.crop((left, top, right, height)) # 验证码的图片直接替换掉页面的图片 img.save(file_name) # 解析图片获取验证码 def code_online(self, file_name): # 读取图片中的字符串 r = ShowapiRequest("http://route.showapi.com/1274-2", "119070", "5183ccbb187e48bab5cea7d8c977b13c") r.addFilePara("imgFile", file_name) res = r.post() # 取json里的值 text = res.json()['showapi_res_body']['texts'] return text
class RegisterHandle(): def __init__(self): self.register_P = RegisterPage() #输入邮箱 def send_user_email(self, email): self.register_P.get_email_element().send_keys(email) pass #输入用户名 def send_user_name(self, name): self.register_P.get_name_element().send_keys(name) pass #输入密码 def send_user_password(self, password): self.register_P.get_name_element().send_keys(password) pass #输入验证码 def send_user_code(self, code): self.register_P.get_name_element().send_keys(code) pass #获取文字信息,指用户输入有误时的错误提示 def get_user_text(self, info, user_info): if info == 'user_email_error': self.register_P.get_email_error_element().get_attribute('value') pass #点击注册按钮 def click_register_button(self): pass
def test_new_shopping_flow(self): #新注册的会员购物流程 '''购物流程用例''' #注册 username = '******' email = username + '@126.com' password = '******' confirm_password = password register = RegisterPage(self.driver) actual = register.register(username, email, password, confirm_password) self.assertEqual(username, actual) #添加收货地址 file_name = DATA_PATH + r'\data_addr.csv' data = ReadCsv().read_addr_data(file_name) addr = UserCenterPage(self.driver) addr.add_addr(*data[1]) #添加购物车 index = '2' text = '衬衫' product_index = '2' action = HomePage(self.driver) actual = action.type_add_shopcart(index, text, product_index) self.assertIn(text, actual) #进入结算 shopcart = ShopCartPage(self.driver) shopcart.go_to_pay() shopcart.select_addr() #结算订单 send_way_index = 0 pay_way_index = 0 pay = PayPage(self.driver) actual = pay.pay_order(send_way_index, pay_way_index) self.assertIn('step=done', actual)
def test_register(self): '''用户注册用例''' username = '******' email = username + '@126.com' password = '******' confirm_password = password register = RegisterPage(self.driver) actual = register.register(username, email, password, confirm_password) self.assertEqual(username, actual)
class RegistreHandle(object): def __init__(self,driver): self.register_p = RegisterPage(driver) self.driver = driver #输入邮箱 def send_user_email(self,email): self.register_p.get_email_element().send_keys(email) #输入密码 def send_user_password(self,password): self.register_p.get_password_element().send_keys(password) #获取文字信息 def get_user_text(self,info): try: if info == "err_m": div_element = self.register_p.get_err_m_element() text = div_element.text('textContent') print(div_element.text('innerHTML')) print(div_element.text('textContent')) elif info == "error_login": text = self.register_p.get_err_m_element().text('textContent') elif info == 'login_button': text = self.get_register_button() except: text = None return text #点击事件 def click_register_button(self): self.register_p.get_click_button_element().click() def get_register_button(self): return self.register_p.get_click_button_element()
def test_register(self): rp = RegisterPage(self.driver) file_name = r"D:\workspace\webAuto41\data\register.csv" print(file_name) data = read_csv(file_name) username = data[2] email = username + "@126.com" passwd = username + "123" confirm_passwd = passwd actual = rp.register(username, email, passwd, confirm_passwd, "13111223344") self.assertEqual(username, actual)
def setUpClass(cls): #print("setupclass") print(parames) cls.driver = BrowserEngine(parames).start_browser() cls.rp = RegisterPage(cls.driver) cls.log = LogRecord() cls.logger = cls.log.log_record()
class FirstDdtCase(unittest.TestCase): @classmethod def setUpClass(self): self.driver = SeleniumDriver("chrome", 'RegisterElement') self.driver.get_url('http://www.5itest.cn/register') self.file_name = "D:/pyProject/PrimarySelenium/image/test001.png" self.driver.handle_window('max') def setUp(self): self.driver.handle_window('refresh') self.reg = RegisterPage(self.driver) def tearDown(self): # 将错误信息保存 time.sleep(2) for method_name, error in self._outcome.errors: if error: case_name = self._testMethodName file_path = os.path.join(os.getcwd() + "/report/" + case_name + ".png") self.driver.save_screen(file_path) @classmethod def tearDownClass(self): self.driver.close_driver() #定义数据 # @ddt.data( # ['12', 'fengyunlsm', '111111', 'user_email_error', '请输入有效电子邮件地址'] # ) #定义函数 # @ddt.unpack # def test_register_case(self, email, username, password, assertCode, assertText): # # email, username, password, self.file_name, assertCode, assertText = data # email_error = self.reg.register_function(email,username,password,self.file_name,assertCode,assertText) # self.assertFalse(email_error, '测试失败') # @ddt.data(*data) # def test_register_case(self, data): # email, username, password, assertCode, assertText = data # email_error = self.reg.register_function(email,username,password,self.file_name,assertCode,assertText) # self.assertFalse(email_error, '测试失败') def test_register_case(self, data): self.reg.register('')
class RegisterHandle(object): def __init__(self, driver): self.register_p = RegisterPage(driver) #输入邮箱 def send_user_email(self, email): self.register_p.get_email_element().send_keys(email) #输入用户名 def send_user_name(self): pass #输入密码 def send_user_password(self): pass #输入验证码 def send_user_code(self): pass
def __init__(self, driver, base_url): self.driver = driver self.base_url = base_url self.login_page = LoginPage(driver, base_url) self.main_page = MainPage(driver, base_url) self.cart_page = CartPage(driver, base_url) self.register_page = RegisterPage(driver, base_url) self.edit_page = EditPage(driver, base_url) self.film_page = FilmPage(driver, base_url) self.internal_page = InternalPage(driver, base_url) self.wait = WebDriverWait(driver, 5)
class RegisterHandle: def __init__(self, driver): self.register_p = RegisterPage(driver) #输入门店名称 def send_shopname(self, shopname): return self.register_p.get_shopname_element().send_keys(shopname) #输入用户名 def send_username(self, username): return self.register_p.get_username_element().send_keys(username) #输入密码 def send_password(self, password): return self.register_p.get_password_element().send_keys(password) #输入验证码 def seng_code(self, code): return self.register_p.get_code_element().send_keys(code) #获取提交时错误的弹窗元素 def click_button(self): return self.register_p.get_button_element().click() def alert_tips(self): return self.register_p.get_alert_tips_element()
def test_register(self): #注册流程 rp = RegisterPage(self.driver) content = read_excel() print("读取成功", content[3]) username = content[3][0] email = content[3][1] password = content[3][2] repassword = content[3][3] MSN = content[3][4] QQ = content[3][5] officephone = content[3][6] homephone = content[3][7] telephone = content[3][8] mibaodaan = content[3][9] result = rp.register(username, email, password, repassword, MSN, QQ, officephone, homephone, telephone, mibaodaan) time.sleep(3) print("实际结果", result) print("预期结果", "sihu") self.assertEqual("sihu", result)
class GetCode: def __init__(self, driver): self.driver = driver self.register_p = RegisterPage(driver) def get_code_image(self, file_name="E:\测试\selenium_project\image.png"): """获取二维码图片""" self.driver.save_screenshot(file_name) code_element = self.register_p.get_check_code_element() left = code_element.location["x"] top = code_element.location["y"] width = code_element.size["width"] + left height = code_element.size["height"] + top im = Image.open(file_name) img = im.crop((left, top, width, height)) img.save(file_name) time.sleep(1)
def create_RegisterPage(self): return RegisterPage(self.driver)
class RegisterHandler(object): def __init__(self, driver): self.register_page = RegisterPage(driver) #输入邮箱 def send_user_email(self, email): self.register_page.get_email_element().send_keys(email) def send_user_name(self, username): self.register_page.get_username_element().send_keys(username) def send_user_password(self, password): self.register_page.get_password_element().send_keys(password) def send_user_code(self, code): self.register_page.get_code_element().send_keys(code) def get_user_text(self, info, user_info): try: print(info) if info == "email_error": text = self.register_page.get_email_error_element().text print("ggg" + text) elif info == "name_error": text = self.register_page.get_name_error_element().text elif info == "password": text = self.register_page.get_password_element().text else: text = self.register_page.get_code_element().text except: text = None return text def click_register_button(self): self.register_page.get_register_button().click() def get_register_text(self): return self.register_page.get_register_button().text
class RegisterHandle(object): def __init__(self, driver): self.register_p = RegisterPage(driver) #输入邮箱 def send_user_email(self, email): self.register_p.get_email_element().send_keys(email) #输入用户名 def send_user_name(self, username): self.register_p.get_username_element().send_keys(username) #输入密码 def send_user_password(self, password): self.register_p.get_password_element().send_keys(password) #输入验证码 def send_user_code(self, code): self.register_p.get_code_element().send_keys(code) #获取文字信息 def get_user_text(self, info, user_info): if info == 'email_eror': text = self.register_p.get_email_error_element().get_attribute( 'value') # 这里的get_attribute('value) = text(),用于获取元素的文本 # self.register_p.get_email_error_element().text() elif info == 'name_error': text = self.register_p.get_username_error_element().get_attribute( 'value') elif info == 'password_error': text = self.register_p.get_password_error_element().get_attribute( 'value') else: text = self.register_p.get_code_error_element().get_attribute( 'value') return text #点击注册按钮 def click_register_button(self): self.register_p.get_button_element().click() #获取注册按钮 def get_register_text(self): return self.register_p.get_button_element().text
def __init__(self, driver): self.driver = driver self.get_code_text = GetCode(self.driver) self.register_p = RegisterPage(self.driver)
class RegisterHandle: """处理注册""" def __init__(self, driver): self.driver = driver self.register_p = RegisterPage(self.driver) def send_user_email(self, email): self.register_p.get_email_element().send_keys(email) def send_user_name(self, username): self.register_p.get_username_element().send_keys(username) def send_user_password(self, password): self.register_p.get_password_element().send_keys(password) def send_user_code(self, code_text): get_code_image = GetCode(self.driver) code_image = get_code_image.get_code_image() self.register_p.get_code_text_element().send_keys(code_text) def get_user_text(self, info, user_info): try: if info == "email_error": text = self.register_p.get_email_error_element().text elif info == "username_error": text = self.register_p.get_username_error_error_element().text elif info == "password_error": text = self.register_p.get_password_error_element().text else: text = self.register_p.get_code_text_error_element().text except: text = None return text def click_register_button(self): self.register_p.get_register_button_element().click() def get_register_button_text(self): self.register_p.get_register_button_element().get_attribute("value")
def __init__(self, driver): self.registerp = RegisterPage(driver) self.registerg = GetCode(driver)
class RegisterHandle(): def __init__(self, driver): self.page = RegisterPage(driver) #输入用户名 def send_name(self, name): self.page.get_name().send_keys(name) #输入邮箱 def send_email(self, email): self.page.get_email().send_keys(email) #输入密码 def send_password(self, password): self.page.get_password().send_keys(password) #输入验证码 def send_code(self, code): self.page.get_code().send_keys(code) # 获取错误信息(获取到注册页中的错误信息) def get_user_text(self, info, user_info): text = None try: if info == "email_error": text = self.page.get_email_error().text elif info == "username_error": text = self.page.get_name_error().text elif info == "password_error": text = self.page.get_password_error().text elif info == "captcha_code_error": text = self.page.get_code_error().text else: print("你的错误无法解决,本猿无能为力......") except: text = None return text # 点击注册按钮 def click_register_button(self): self.page.get_button().click() # 获取注册按钮的文字 def get_register_text(self): return self.page.get_button().text
def __init__(self, driver): self.driver = driver self.register_p = RegisterPage(self.driver)
class RegisterHandle(object): def __init__(self, driver): self.register_p = RegisterPage(driver) # 输入邮箱地址 def send_user_email(self, email): self.register_p.get_email_element().send_keys(email) # 输入用户名 def send_user_name(self, username): self.register_p.get_username_element().send_keys(username) # 输入密码 def send_user_password(self, password): self.register_p.get_password_element().send_keys(password) # 输入验证码 def send_user_code(self, code): self.register_p.get_code_element().send_keys(code) # 点击注册按钮 def click_register_button(self): self.register_p.get_button_element().click() # 获取注册文字错误信息 def get_user_text(self, info): try: if info == 'user_email_error': text = self.register_p.get_email_error_element().text elif info == 'user_name_error': text = self.register_p.get_username_error_element().text elif info == 'user_password_error': text = self.register_p.get_password_error_element().text elif info == 'user_code_error': text = self.register_p.get_code_error_element().text except: text = None return text
class RegisterHandle: def __init__(self, driver): self.driver = driver self.re_page = RegisterPage(self.driver) # 输入邮箱 def send_user_email(self, email): return self.re_page.get_email_element().send_keys(email) # 输入用户名 def send_user_name(self, username): return self.re_page.get_name_element().send_keys(username) # 输入密码 def send_user_pwd(self, pwd): return self.re_page.get_pwd_element().send_keys(pwd) # 输入验证码 def send_user_code(self, code): # get_code_text = GetCode(self.driver) # code = get_code_text.get_code_image(file_code) return self.re_page.get_code_element().send_keys(code) #获取文字信息,输入 不同的错误信息,提示语不同,,用户名错误,密码错误。。。。 def get_user_text(self, info): text = '' try: if info == 'user_email_error': text = self.re_page.get_email_error_element().text elif info == 'user_name_error': text = self.re_page.get_name_error_element().text elif info == 'pwd_error': text = self.re_page.get_pwd_error_element().text elif info == 'code_error': text = self.re_page.get_code_error_element().text except: text = None # print(text) return text # 点击注册按钮 def click_register_button(self): self.re_page.get_button_element().click() # 获取注册按钮文字 def get_register_text(self): return self.re_page.get_button_element().text # re_handle = RegisterHandle()
class RegisterHandle: def __init__(self, driver): self.driver = driver self.register_p = RegisterPage(self.driver) # 输入邮箱 def send_user_email(self, email): self.register_p.get_email_element().send_keys(email) # 输入用户名 def send_user_name(self, username): self.register_p.get_username_element().send_keys(username) # 输入密码 def send_user_password(self, password): self.register_p.get_password_element().send_keys(password) # 输入验证码 def send_user_code(self, file_name): get_code_text = GetCode(self.driver) code = get_code_text.code_online(file_name) self.register_p.get_code_element().send_keys(code) # 获取文字信息 def get_user_text(self, info, user_info): try: if info == 'user_email_error': text = self.register_p.get_email_error_element().text elif info == 'user_name_error': text = self.register_p.get_name_error_element().text elif info == 'password_error': text = self.register_p.get_password_element().text else: text = self.register_p.get_code_element().text except: text = None return text # 点击注册按钮 def click_register_button(self): self.register_p.get_button_element().click() # 获取注册按钮文字 def get_register_text(self): return self.register_p.get_button_element().text
class RegisterHandle(object): def __init__(self, driver): self.driver = driver self.rp = RegisterPage(self.driver) # 输入注册邮箱 def send_register_email(self, email): self.rp.get_register_email().send_keys(email) # 输入用户昵称 def send_register_nickname(self, nickname): self.rp.get_register_nickname().send_keys(nickname) # 输入注册密码 def send_register_password(self, password): self.rp.get_register_password().send_keys(password) # 输入验证码 def send_register_captcha(self, file_name): get_code_text = GetCode(self.driver) captcha = get_code_text.discern_captcha_image(file_name) self.rp.get_captcha_code().send_keys(captcha) # 获取错误信息 def get_user_text(self, error_info, error_value): try: if error_info == "register_email_error": # text = self.rp.get_register_email_error().get_attribute('textContent') text = self.rp.get_register_email_error().text elif error_info == 'register_nickname_error': text = self.rp.get_register_nickname_error().text elif error_info == 'register_password_error': text = self.rp.get_register_password_error().text else: text = self.rp.get_captcha_code_error().text except: text = None return text # 点击注册按钮 def click_register_btn(self): self.rp.get_register_btn().click() # 获取注册按钮文字 def get_register_btn_text(self): return self.rp.get_register_btn().text
def register(self): return RegisterPage(self.driver)
def register(self): # 返回注册页面 return RegisterPage(self.driver)
def __init__(self, driver): self.page = RegisterPage(driver)
class RegisterHandle(object): #输入邮箱 def __init__(self, driver): self.driver = driver self.get_code_text = GetCode(self.driver) self.register_p = RegisterPage(self.driver) def send_user_email(self, email): self.register_p.get_email_element().send_keys(email) # 输入用户名 def send_user_name(self, name): self.register_p.get_name_element().send_keys(name) # 输入密码 def send_user_password(self, password): self.register_p.get_password_element().send_keys(password) # 输入验证码 def send_user_code(self, code): #code = self.get_code_text.code_online(file_name) self.register_p.get_code_element().send_keys(code) #获取文字信息 def send_user_text(self, info, user_info): try: if info == "user_email_error": text = self.register_p.get_email_element_error().text elif info == "user_name_error": text = self.register_p.get_name_element_error().text elif info == "password_error": text = self.register_p.get_password_element_error().text else: text = self.register_p.get_code_element_error().text except: text = None return text #获取注册按钮的定位xinxi def click_register_button(self): self.register_p.get_button_element().click() #获取注册按钮文字 def get_register_text(self): return self.register_p.get_button_element().text