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

 

posted @ 2021-04-01 16:14  caojuanshu  阅读(154)  评论(0编辑  收藏  举报