Web自动化-Python电商项目实战

原理:通过python+selenium代替手工完成Web功能测试的操作

Web功能测试

    1.界面测试(界面显示是否符合预期)  

    2.连接测试(文案,链接地址)    

    3.功能测试(确保功能符合需求)

    4.性能测试

    5.安全测试

Web自动化原理

打开浏览器(首页-开源商城 | B2C商城 | B2B2C商城 | 三级分销 | 免费商城 | 多用户商城 | tpshop|thinkphp shop|TPshop 免费开源系统 | 微商城 (testingedu.com.cn))

访问网站

找到链接

点击查看

Web自动化实战

python+pycharm安装(已有)+selenium(进入cmd,输入pip install selenium)

定位元素:8种方式

元素的操作:

     点击、输入、滑动、选择、悬停、滚动

from selenium import webdriver
from selenium.webdriver.common.by import By
import time
#打开浏览器
driver=webdriver.Edge()
#访问网站
driver.get("http://testingedu.com.cn:8000/Home/user/login.html")
#找到元素,通过元素的id属性等
ele=driver.find_element(By.NAME,'password')
print(ele.get_attribute('outerHTML'))
#为了简单起见,可以使用复制xpath的形式
ele=driver.find_element(By.XPATH,'//a[text()="淘宝网"]')
#点击链接
ele.click()
#断言,判断上述链接是否正确
title=driver.title
print(title)

#前置条件,返回原页面
driver.back()

登录功能测试

from selenium import webdriver
from selenium.webdriver.common.by import By
import time
#打开浏览器
driver=webdriver.Edge()
#隐式等待,网页加载需要时间:增加自动化测试的稳定性,不会影响运行效率率
driver.implicitly_wait(5)
#访问网站
driver.get("http://testingedu.com.cn:8000/Home/user/login.html")
#为了简单起见,可以使用复制xpath的形式
driver.find_element(By.XPATH,'//*[@id="username"]').send_keys('13800138006')
driver.find_element(By.XPATH,'//*[@id="password"]').send_keys('123456')
driver.find_element(By.XPATH,'//*[@id="verify_code"]').send_keys('123')
driver.find_element(By.XPATH,'//*[@class="J-login-submit"]').click()

#断言
nickname=driver.find_element(By.XPATH,'//*[@class="red userinfo"]').text
print(nickname)

升级化

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

class Login:
    def __init__(self):
        self.driver=webdriver.Edge()
        self.driver.implicitly_wait(5)
    def login(self,username,password):
        "登录用例操作"
        self.driver.get("http://testingedu.com.cn:8000/Home/user/login.html")
        # 为了简单起见,可以使用复制xpath的形式
        self.driver.find_element(By.XPATH, '//*[@id="username"]').send_keys(username)
        self.driver.find_element(By.XPATH, '//*[@id="password"]').send_keys(password)
        self.driver.find_element(By.XPATH, '//*[@id="verify_code"]').send_keys('123')
        self.driver.find_element(By.XPATH, '//*[@class="J-login-submit"]').click()

    def test_login_error(self):
        "用户密码错误的用例"
        self.login('13800138006','111111')
        test=self.driver.find_element(By.XPATH, '//*[@class="layui-layer-content layui-layer-padding"]').text
        print(test)

    def test_login_none(self):
        "用户密码错误的用例"
        self.login('','111111')
        test=self.driver.find_element(By.XPATH,'//*[@class="layui-layer-content layui-layer-padding"]').text
        print(test)

    def test_login_succ(self):
        "用户密码正确的用例"
        self.login('13800138006','123456')
        nickname=self.driver.find_element(By.XPATH,'//*[@class="red userinfo"]').text
        print(nickname)

if __name__=='__main__':
    login=Login()
    login.test_login_none()
    login.test_login_error()
    login.test_login_succ()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值