zoukankan      html  css  js  c++  java
  • selenium 笔记 二次封装

    1 元素定位参数化 find_element

    定位方法:

    by_id="id"

    by_xpath="xpath"

    by_link_text="link text"

    by_partial_text="partial link text"

    by_name="name"

    by_tag_name="tag name"

    by_class_name="class name"

    by_css_selector="css selector"

    #coding:utf-8
    from selenium import webdriver
    #from selenium.webdriver.common.by import By
    driver=webdriver.Firefox()
    driver.get("https://www.baidu.com")

    driver.find_element("id","kw").send_keys('python')
    driver.find_element("css selector","#su").click()

    2 登录 参数化

    把登录封装为一个方法,然后把账号和密码参数化。登录的时候只需要调用这个方法

    1把输入账号、输入密码、点击登录按钮三个步骤写成一个方法

    2然后把输入的账号和密码参数化

    #coding:utf-8
    from selenium import webdriver

    import unittest
    import time
    class Bolg(unittest.TestCase):
    u'''登录博客'''
    def setUp(self):
    self.driver=webdriver.Firefox()
    url="https://account.cnblogs.com/signin"
    self.driver.get(url)
    self.driver.implicitly_wait(30)
    def login(self,username,psw):
    u'''这里写了一个登录的方法,账号和密码参数化'''
    self.driver.find_element_by_id("mat-hint-0").send_keys(username)
    self.driver.find_element_by_id("mat-input-1").send_keys(psw)
    self.driver.find_elements_by_css_selector("action-button")[0].click()
    time.sleep(3)

    判断是否登录成功,取登录成功后账户名 -封装判断方法:获取到账户名返回True,没有获取到返回False

    #coding:utf-8
    from selenium import webdriver

    import unittest
    import time

    class Bolg(unittest.TestCase):
    u'''登录博客'''
    def setUp(self):
    self.driver=webdriver.Firefox()
    url="https://account.cnblogs.com/signin"
    self.driver.get(url)
    self.driver.implicitly_wait(30)
    def login(self,username,psw):
    u'''这里写了一个登录的方法,账号和密码参数化'''
    self.driver.find_element_by_id("mat-input-0").send_keys(username)
    self.driver.find_element_by_id("mat-input-1").send_keys(psw)
    self.find_elements_by_css_selector("button.action-button")[0].click()
    time.sleep(3)

    def is_login_sucess(self):
    u'''判断是否获取到登录账户名称'''
    try:
    text=self.find.element_by_id("lnk_current_user").text
    print(text)
    return True
    except:
    return False

    def test_01(self):
    u'''登录案例参考:账号、密码自己设置'''
    self.login('','')
    result=self.is_login_sucess()
    self.assertTrue(result)
    def test_02(self):
    u'''登录案例参考:账号,密码自己设置'''
    self.login("","")
    result=self.is_login_sucess()
    self.assertTrue(result)
    def tearDown(self):
    self.driver.quit()

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

  • 相关阅读:
    下一个ajax异步请求被挂起问题
    借鉴别人的Oracle 11g安装和卸载图文教程
    Html5 实现网页截屏 页面生成图片(图文)
    Oracle修改字段类型方法小技巧
    基于轻量级ORM框架Dapper的扩展说明
    JavaScript+html5 canvas实现本地截图教程
    SkipList跳表基本原理
    Oracle日期查询:季度、月份、星期等时间信息
    设计模式之模板模式
    设计模式之解释器模式
  • 原文地址:https://www.cnblogs.com/caojuansh/p/13750996.html
Copyright © 2011-2022 走看看