自动化定位案例:
(1)实战:单个场景(线性脚本)
from selenium import webdriver
from time import *
d=webdriver.Chrome()
d.get(‘http://cms.duoceshi.cn/cms/manage/login.do’)
sleep(3)
d.find_element_by_id(‘userAccount’).send_keys(‘admin’)
sleep(3)
d.find_element_by_id(‘loginPwd’).send_keys(‘123456’)
sleep(3)
d.find_element_by_xpath(‘//[@id=“loginBtn”]‘).click()
sleep(3)
d.find_element_by_xpath(’//[@id=“menu-system”]/dt’).click()
sleep(3)
d.find_element_by_xpath(‘//*[@id=“menu-system”]/dd/ul/li[1]/a’).click()
(2)实战( 封装)
class Cms(object):
def init(self):
self.d=webdriver.Chrome()
self.d.get(“http://cms.duoceshi.cn/cms/manage/login.do”)
self.d.maximize_window()
sleep(2)
def dl(self):
self.d.find_element_by_id(‘userAccount’).send_keys(‘admin’)
sleep(2)
self.d.find_element_by_id(‘loginPwd’).send_keys(‘123456’)
sleep(2)
self.d.find_element_by_id(‘loginBtn’).click()
sleep(3)
def yfgl(self):
self.d.find_element_by_class_name(‘icon-user’).click()
sleep(2)
self.d.find_element_by_link_text(‘用户管理’).click()
sleep(2)
def wzgl(self):
self.d.find_element_by_class_name(“icon-cogs”).click() # 系统管理
sleep(2)
self.d.find_element_by_xpath(‘//*[@id=“menu-system”]/dd/ul/li[2]/a’).click() # 文章管理
if name == ‘main’:
s=Cms()
s.dl()
#s.yfgl()
# s.wzgl()
案例3:封装中给账号密码给变量:
from selenium import webdriver
from time import *
class Cms(object):
def init(self):
self.d=webdriver.Chrome()
self.d.get(“http://cms.duoceshi.cn/cms/manage/login.do”)
self.d.maximize_window()
sleep(2)
def dl(self,name,passwd):
self.d.find_element_by_id(‘userAccount’).send_keys(name)
sleep(2)
self.d.find_element_by_id(‘loginPwd’).send_keys(passwd)
sleep(2)
self.d.find_element_by_id(‘loginBtn’).click()
sleep(3)
def yfgl(self):
self.d.find_element_by_class_name(‘icon-user’).click()
sleep(2)
self.d.find_element_by_link_text(‘用户管理’).click()
sleep(2)
def wzgl(self):
self.d.find_element_by_class_name(“icon-cogs”).click() # 系统管理
sleep(2)
self.d.find_element_by_xpath(‘//*[@id=“menu-system”]/dd/ul/li[2]/a’).click() # 文章管理
if name == ‘main’:
s=Cms()
s.dl(“admin”,123456)
案例4:封装成每一个自动化用例都能单独运行
from selenium import webdriver
from time import *
class Cms(object):
def init(self):
self.d=webdriver.Chrome()
self.d.get(“http://cms.duoceshi.cn/cms/manage/login.do”)
self.d.maximize_window()
sleep(2)
def dl(self,name,passwd):
self.d.find_element_by_id(‘userAccount’).send_keys(name)
sleep(2)
self.d.find_element_by_id(‘loginPwd’).send_keys(passwd)
sleep(2)
self.d.find_element_by_id(‘loginBtn’).click()
sleep(3)
def yfgl(self):
self.dl(“admin”,123456)
self.d.find_element_by_class_name(‘icon-user’).click()
sleep(2)
self.d.find_element_by_link_text(‘用户管理’).click()
sleep(2)
def wzgl(self):
self.dl(“admin”, 123456)
self.d.find_element_by_class_name(“icon-cogs”).click() # 系统管理
sleep(2)
self.d.find_element_by_xpath(‘//*[@id=“menu-system”]/dd/ul/li[2]/a’).click() # 文章管理
if name == ‘main’:
s=Cms()
#s.dl(“admin”, 123456)
#s.yfgl()
s.wzgl()
案例5:封装后通过if语句断言
from selenium import webdriver
from time import *
class Cms(object):
def init(self):
self.d=webdriver.Chrome()
self.d.get(“http://cms.duoceshi.cn/cms/manage/login.do”)
self.d.maximize_window()
sleep(2)
def dl(self,name,passwd):
self.d.find_element_by_id(‘userAccount’).send_keys(name)
sleep(2)
self.d.find_element_by_id(‘loginPwd’).send_keys(passwd)
sleep(2)
self.d.find_element_by_id(‘loginBtn’).click()
sleep(3)
def yfgl(self):
self.dl(“admin”,123456)
self.d.find_element_by_class_name(‘icon-user’).click()
sleep(2)
self.d.find_element_by_link_text(‘用户管理’).click()
sleep(2)
def wzgl(self):
self.dl(“admin”, 123456)
self.d.find_element_by_class_name(“icon-cogs”).click() # 系统管理
sleep(2)
self.d.find_element_by_xpath(‘//*[@id=“menu-system”]/dd/ul/li[2]/a’).click() # 文章管理
t=self.d.title
print(t)
if t==“过期” :
print(‘ok’)
else:
print(‘no’)
self.d.close()
if name == ‘main’:
s=Cms()
#s.dl(“admin”, 123456)
#s.yfgl()
s.wzgl()
案例5:封装后通过assert语句断言 (assert错误直接报异常,通过就执行下一步)
from selenium import webdriver
from time import *
class Cms(object):
def init(self):
self.d=webdriver.Chrome()
self.d.get(“http://cms.duoceshi.cn/cms/manage/login.do”)
self.d.maximize_window()
sleep(2)
def dl(self,name,passwd):
self.d.find_element_by_id(‘userAccount’).send_keys(name)
sleep(2)
self.d.find_element_by_id(‘loginPwd’).send_keys(passwd)
sleep(2)
self.d.find_element_by_id(‘loginBtn’).click()
sleep(3)
def yfgl(self):
self.dl(“admin”,123456)
self.d.find_element_by_class_name(‘icon-user’).click()
sleep(2)
self.d.find_element_by_link_text(‘用户管理’).click()
sleep(2)
def wzgl(self):
self.dl(“admin”, 123456)
self.d.find_element_by_class_name(“icon-cogs”).click() # 系统管理
sleep(2)
self.d.find_element_by_xpath(‘//*[@id=“menu-system”]/dd/ul/li[2]/a’).click() # 文章管理
t=self.d.title
print(t)
assert t==“过期”
print(‘ok’)
if name == ‘main’:
s=Cms()
#s.dl(“admin”, 123456)
#s.yfgl()
s.wzgl()
assert断言: