首页 > 其他分享 >selenium编写用例

selenium编写用例

时间:2024-09-20 19:03:54浏览次数:11  
标签:self selenium element 用例 sleep dx id 编写 find

自动化用例
案例:http://cms.duoceshi.cn/manage/login.do
一、编写用例
(1)登录
from selenium import webdriver
from time import *
from selenium.webdriver.common.keys import Keys
dx=webdriver.Chrome()
url="http://cms.duoceshi.cn/manage/login.do"
dx.get(url)
dx.maximize_window()
dx.find_element_by_id("userAccount").send_keys("admin")
sleep(2)
dx.find_element_by_id("loginPwd").send_keys("123456")
sleep(2)
dx.find_element_by_id("loginBtn").click()

(2)登录=用户中心=用户管理
from selenium import webdriver
from time import *
from selenium.webdriver.common.keys import Keys
dx=webdriver.Chrome()
url="http://cms.duoceshi.cn/manage/login.do"
dx.get(url)
dx.maximize_window()
dx.find_element_by_id("userAccount").send_keys("admin")
sleep(2)
dx.find_element_by_id("loginPwd").send_keys("123456")
sleep(2)
dx.find_element_by_id("loginBtn").click()
sleep(2)
dx.find_element_by_xpath('//*[@id="menu-user"]/dt/i').click()
sleep(2)
dx.find_element_by_link_text("用户管理").click()

(3)登录系统管理栏目设置
from selenium import webdriver
from time import *
from selenium.webdriver.common.keys import Keys
dx=webdriver.Chrome()
url="http://cms.duoceshi.cn/manage/login.do"
dx.get(url)
dx.maximize_window()
dx.find_element_by_id("userAccount").send_keys("admin")
sleep(2)
dx.find_element_by_id("loginPwd").send_keys("123456")
sleep(2)
dx.find_element_by_id("loginBtn").click()
sleep(2)
dx.find_element_by_xpath('//*[@id="menu-system"]/dt/i').click()
sleep(2)
dx.find_element_by_link_text("栏目设置").click()

二、封装
(1)每个用例都是独立(运行前调用登录)
from selenium import webdriver
from time import *
class Cms(object):
def init(self):
pass
def dl(self):
self.dx=webdriver.Chrome()
url="http://cms.duoceshi.cn/manage/login.do"
self.dx.get(url)
self.dx.maximize_window()
self.dx.find_element_by_id("userAccount").send_keys("admin")
sleep(2)
self.dx.find_element_by_id("loginPwd").send_keys("123456")
sleep(2)
self.dx.find_element_by_id("loginBtn").click()
sleep(3)
def yhgl(self):
c=self.dl()
self.dx.find_element_by_xpath('//[@id="menu-user"]/dt/i').click()
sleep(2)
self. dx.find_element_by_link_text("用户管理").click()
def lmcx(self):
c = self.dl()
self.dx.find_element_by_xpath('//
[@id="menu-system"]/dt/i').click()
sleep(2)
self.dx.find_element_by_link_text("栏目设置").click()
if name == 'main':
d=Cms()
# d.dl()
# d.yhgl()
d.lmcx()

(2)每个用例执行前都会运行构造函数下登录

from selenium import webdriver
from time import *
class Cms(object):
def init(self):
self.dx=webdriver.Chrome()
url="http://cms.duoceshi.cn/manage/login.do"
self.dx.get(url)
self.dx.maximize_window()
self.dx.find_element_by_id("userAccount").send_keys("admin")
sleep(2)
self.dx.find_element_by_id("loginPwd").send_keys("123456")
sleep(2)
self.dx.find_element_by_id("loginBtn").click()
sleep(3)
def yhgl(self):
self.dx.find_element_by_xpath('//[@id="menu-user"]/dt/i').click()
sleep(2)
self. dx.find_element_by_link_text("用户管理").click()
def lmcx(self):
self.dx.find_element_by_xpath('//
[@id="menu-system"]/dt/i').click()
sleep(2)
self.dx.find_element_by_link_text("栏目设置").click()
if name == 'main':
d=Cms()
# d.yhgl()
d.lmcx()

(3)
from selenium import webdriver
from time import *
class Cms(object):
def init(self):
self.dx = webdriver.Chrome()
url = "http://cms.duoceshi.cn/manage/login.do"
self.dx.get(url)
self.dx.maximize_window()
def dl(self):
self.dx.find_element_by_id("userAccount").send_keys("admin")
sleep(2)
self.dx.find_element_by_id("loginPwd").send_keys("123456")
sleep(2)
self.dx.find_element_by_id("loginBtn").click()
sleep(3)
def yhgl(self):
c=self.dl()
self.dx.find_element_by_xpath('//[@id="menu-user"]/dt/i').click()
sleep(2)
self. dx.find_element_by_link_text("用户管理").click()
def lmcx(self):
c = self.dl()
self.dx.find_element_by_xpath('//
[@id="menu-system"]/dt/i').click()
sleep(2)
self.dx.find_element_by_link_text("栏目设置").click()

if name == 'main':
d=Cms()
d.dl()

d.yhgl()

d.lmcx()

标签:self,selenium,element,用例,sleep,dx,id,编写,find
From: https://www.cnblogs.com/hutongxue/p/18423084

相关文章

  • 程序员编写技术文章需要的四个辅助神器 ,强烈建议收藏 !
    编写技术文章是程序员分享经验和记录学习成果的重要方式。为了让写作变得更轻松,有许多实用工具可以帮助提升效率,比如Markdown编辑器、画图工具等。接下来,笔者将介绍四款简单实用的工具,帮助程序员更轻松地编写技术文章。1Typora:Markdown编辑器Typora是一款简洁而功能强......
  • 基于LangChain手工测试用例转App自动化测试生成工具
    在传统编写App自动化测试用例的过程中,基本都是需要测试工程师,根据功能测试用例转换为自动化测试的用例。市面上自动生成Web或App自动化测试用例的产品无非也都是通过录制的方式,获取操作人的行为操作,从而记录测试用例。整个过程类似于但是通常录制出来的用例可用性、可维护性......
  • 基于LangChain手工测试用例转App自动化测试生成工具
    在传统编写App自动化测试用例的过程中,基本都是需要测试工程师,根据功能测试用例转换为自动化测试的用例。市面上自动生成Web或App自动化测试用例的产品无非也都是通过录制的方式,获取操作人的行为操作,从而记录测试用例。整个过程类似于但是通常录制出来的用例可用性、可维护性......
  • 软件测试用例篇
    目录一、测试用例的概念二、设计测试用例的万能公式1. 常规思考+逆向思维+发散性思维2.万能公式3.弱网测试&&安装卸载测试一、测试用例的概念什么是测试用例?        测试用例(TestCase)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环......
  • 测试用例设计方法
    目录1. 基于需求的设计方法2.具体的设计方法2.1等价类2.2边界值2.3正交法2.4判定表法2.4场景法2.5错误猜测法3.用例练习命令行程序 1. 基于需求的设计方法        基于需求的设计方法也是总的设计测试用例的方法,在工作中,我们需要参考需求文......
  • 基于LangChain手工测试用例转App自动化测试生成工具
    在传统编写App自动化测试用例的过程中,基本都是需要测试工程师,根据功能测试用例转换为自动化测试的用例。市面上自动生成Web或App自动化测试用例的产品无非也都是通过录制的方式,获取操作人的行为操作,从而记录测试用例。整个过程类似于但是通常录制出来的用例可用性、可维护......
  • 人像评测测试用例典型场景
    在**人像评测**中,通常会针对拍摄人像时的设备表现进行一系列实际场景测试。目的是评估设备在不同条件下拍摄人像的能力,包括细节、色彩、光线处理等方面。以下是一些典型的**人像评测场景用例**:###1.**自然光下的室外拍摄**-**场景描述**:测试在白天的自然光条件下设备的人像......
  • 编写一个学校自动分班工具
    目录需求分析分班的目标和要求输入和输出约束条件设计方案数据结构设计算法选择系统架构代码实现数据读取和预处理分班算法结果输出测试和验证单元测试集成测试性能测试优化和改进算法优化代码优化用户体验改进总结与展望需求分析分班的目标和要求在学校中,合理分班可以有效提升教学......
  • Python单体类编写技巧与类装饰器应用
    在软件开发中,有时希望某个类只能生成一个实例,这种模式被称为单体模式(SingletonPattern)。单体类确保整个程序中只有一个类实例,从而在多线程环境或全局配置中保持状态一致。Python作为一门灵活的编程语言,提供了多种实现单体类的方法,包括使用类装饰器来简化单体类的实现。本文将......
  • 编写jmeter脚本的原则
    jmeter编写脚本的原则,事务、抽象的概念,面向对象的思想(封装,继承,多态)断言1、尽量不要使用beanshell,如果遇到一些jmeter不支持的加密算法,或者一些功能,可以将其封装成jmeter的函数,进行调用2、尽量抽取公共信息,使用http信息头管理器,http请求默认值等3、如很多接口必须要用到beanshell,则......