进入该页面需要先登录
注意一下几点:
1.需要调用登录方法
2.下拉框的运用
3.登录方法见上一篇:https://blog.csdn.net/weixin_49855251/article/details/111832202
再basic目录下新建一个test_category.py文件
案例:
# 文章分类
#注意下拉框选父级菜单时用到select方法
from selenium.webdriver.support.select import Select
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from time import sleep
class TestCategory(object):
#因为需要建立再登录之上的操作
def __init__(self, login):
self.login = login
# 测试文章分类失败,名称为空
def test_add_category_error(self):
name = ''
# 前置条件 后置条件
parent = 'python'
slug = 'test'
expected = '名称不能为空!'
# 点击文章
#
self.login.driver.find_element_by_xpath('//*[@id="article"]/a/span').click()
sleep(1)
# 点击分类
self.login.driver.find_element_by_xpath('//*[@id="category"]/a').click()
sleep(1)
# 输入分类名称
self.login.driver.find_element_by_name('taxonomy.title').send_keys(name)
# 选择父分类
parent_category_elem = self.login.driver.find_element_by_name('taxonomy.parent_id')
# Select
Select(parent_category_elem).select_by_visible_text(parent)
# 输入slug
self.login.driver.find_element_by_name('taxonomy.slug').send_keys(slug)
# 点击添加
self.login.driver.find_element_by_xpath(
'//*[@id="form"]/button').click()
# 因为有弹窗所以需要切换到弹窗上
WebDriverWait(self.login.driver, 7).until(EC.alert_is_present())
alert = self.login.driver.switch_to.alert
# python 的断言
# 获取弹窗上的文字来比较
assert alert.text == expected
sleep(3)
alert.accept()
# 测试文章分类成功
def test_add_category_ok(self):
name = 'test'
parent = 'python'
slug = 'test'
expected = None
# 点击文章
#
self.login.driver.find_element_by_xpath('//*[@id="article"]/a/span').click()
sleep(1)
# 点击分类
self.login.driver.find_element_by_xpath('//*[@id="category"]/a').click()
sleep(1)
# 输入分类名称
self.login.driver.find_element_by_name('taxonomy.title').send_keys(name)
# 选择父分类
parent_category_elem = self.login.driver.find_element_by_name('taxonomy.parent_id')
# Select
Select(parent_category_elem).select_by_visible_text(parent)
# 输入slug
self.login.driver.find_element_by_name('taxonomy.slug').send_keys(slug)
# 点击添加
self.login.driver.find_element_by_xpath(
'//*[@id="form"]/button').click()
#没有异常就添加成功直接断言成功就好了
assert 1 == 1
main方法中需要登录成功然后再调用该方法
from testcases.basic.test_user_login import TestUserLogin
from testcases.basic.test_category import TestCategory
if __name__ == '__main__':
#文章分类
#先登录
login=TestUserLogin()
#先登录成功
login.test_user_login_ok()
#再分类 然后文章名称为空的验证
case03=TestCategory(login)
#case03.test_add_category_error()
#添加文章成功的验证
case03.test_add_category_ok()
就这样吧,运行没问题 后期会完善。