• “I love you not for who you are, but for who I am with you.”—Edward Scissorhands
    我爱你不是因为你是谁,而是我在你面前可以是谁 ---《剪刀手爱德华》

  • 作业五

  • 作业4

  • 作业3

  • 作业1

  • 第二题

  • #许庚超

    weather: rain
    title: 杭州线下第一期_Yaml作业
    room:
    number: 309
    place: 浙江\n杭州\n沈塘桥\n中国电信
    wifi:
    - xiaomi_0E09
    - '12345678'
    smoking: false
    peoples:
    - Susan
    - Sully
    - Smile
    - Ruby
    - Your-Name
    food: ~
  • Author only
  • 作业二

    目录结构(已Testerhomelogin2为例)

    loginpage.py

    class LoginPage():

    #登陆页面的输入用户名的框
    def input_username(self,driver):
    return driver.find_element_by_id('user_login')

    #登陆页面输入密码的框
    def input_password(self,driver):
    return driver.find_element_by_id('user_password')
    #登陆页面的登陆按钮
    def click_commit(self,driver):
    return driver.find_element_by_name("commit")

    #登陆页面的记住我按钮
    def click_remeberme(self,driver):
    return driver.find_element_by_id('user_remember_me')

    #对输入框进行输入操作
    def action_sendkeys(self,ele,values):
    ele.send_keys(values)

    #对控件进行点击操作
    def action_click(self,ele):
    ele.click()

    #登陆的业务流程
    def testerhomelogin(self,driver,username,password):
    self.action_sendkeys(self.input_username(driver),username)
    print ("输入用户名:",username)
    self.action_sendkeys(self.input_password(driver),password)
    print ("输入密码:",password)
    self.action_click(self.click_remeberme(driver))
    print("选中记住我")
    self.action_click(self.click_commit(driver))
    print ("点击登录按钮")

    register.py

    class RegisterPage():

    #用户名元素
    def input_username(self,driver):
    return driver.find_element_by_id("user_login")

    #名字元素
    def input_name(self,driver):
    return driver.find_element_by_id("user_name")

    #Email元素
    def input_email(self,driver):
    return driver.find_element_by_id("user_email")

    #密码元素
    def input_password(self,driver):
    return driver.find_element_by_id("user_password")

    #确认密码元素
    def input_password_confirmation(self,driver):
    return driver.find_element_by_id("user_password_confirmation")

    #验证码元素
    def input_rucaptcha(self,driver):
    return driver.find_element_by_name("_rucaptcha")

    #提交注册信息按钮
    def click_commit(self,driver):
    return driver.find_element_by_name("commit")

    #定义输入操作
    def action_sendkeys(self,ele,values):
    ele.send_keys(values)

    #定义点击按钮操作
    def action_click(self,ele):
    ele.click()

    #testerhome注册逻辑
    def testerhome_register(self,driver,args):#可变参数如何使用
    #输入用户名
    self.action_sendkeys(self.input_username(driver),args[0])
    print("输入用户名:",args[0])
    #输入名字
    self.action_sendkeys(self.input_name(driver),args[1])
    print("输入名字:",args[1])
    #输入Email
    self.action_sendkeys(self.input_email(driver),args[2])
    print("输入邮箱:",args[2])
    #输入密码
    self.action_sendkeys(self.input_password(driver),args[3])
    print("输入密码:",args[3])
    #再次输入密码(确认密码)
    self.action_sendkeys(self.input_password_confirmation(driver),args[4])
    print("确认密码:",args[4])
    #输入验证码
    self.action_sendkeys(self.input_rucaptcha(driver),args[5])
    print("输入验证码:",args[5])
    #点击提交注册信息按钮
    self.action_click(self.click_commit(driver))
    print("点击注册按钮”)

    testerhomecase.py

    from selenium import webdriver
    import unittest
    import loginpage
    import register

    class TesterhomeCase(unittest.TestCase):
    def setUp(self):
    self.driver=webdriver.Chrome()
    self.driver.maximize_window()


    def test_login_01_case(self,username="testuser",password="123456"):
    self.driver.get("https://testerhome.com/account/sign_in")
    testerhomelogin=loginpage.LoginPage()
    testerhomelogin.testerhomelogin(self.driver,username,password)

    def test_register_01_case(self):
    self.driver.get("https://testerhome.com/account/sign_up")
    testerhomeregister=register.RegisterPage()
    #测试数据,一个list
    testdata=["testuser","testuser2","123456@qq.com","123456","123456","xasdf"]
    testerhomeregister.testerhome_register(self.driver,testdata)

    def tearDown(self):
    self.driver.quit()


    if __name__ == "__main__":
    unittest.main()

    运行结果

    没有完成部分

    1.Xpath 和css selector还不是很懂,在查找元素的时候没有使用这俩种方法,后面补充上去
    2.excel作为数据驱动这块没有加上去
    3.PageObjects的还不是很理解,希望老师这块多讲讲