• 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()

  • 相关阅读:
    阿里云ECS linux通过rinetd 端口转发来访问内网服务
    阿里云ECS linux通过iptables 配置SNAT代理网关,实现局域网上网
    适用于CentOS6.x系统的15项优化脚本
    ELK学习笔记
    MAC OSX环境下cordova+Ionic的安装配置
    Windows下 VM12虚拟机安装OS X 10.11 和VM TOOLS
    cordova 下载更新
    android adb常用命令
    ionic实现双击返回键退出功能
    ionic ngCordova插件安装
  • 原文地址:https://www.cnblogs.com/caojuansh/p/13750996.html
Copyright © 2020-2023  润新知