6.6实例:学成在线平台教育

一.测试环境准备

在线平台教育网址http://xczx2-portal.itheima.net/

账户:13810000002             密码:888itcast.CN764%...

Pycharm Community(代码编译器,需要注意由于会自动生成文件所需要的基础包,下载后续包的过程中需要)

python-3.8.10解释器(需要在Pycharm中下载)

Katalon Recorder 5.7.5(谷歌插件,可以再谷歌扩展程序里下载,或去官方网页下载https://www.crx4chrome.com/crx/62796/

selenium (Pycharm中下载,下载最新版便可以)

谷歌浏览器及谷歌浏览器驱动ChromeDriver(浏览器驱动版本需要与浏览器版本匹配)

二.定位学成在线教育平台首页元素

1.使用浏览器自带的开发者工具进行定位

鼠标右键进入检查

进入后会出现右方前端的界面,在其内容中可以将页面展示的内容一一对应

点击左方虚线方框在点击自己想要定位的内容,便可以获得所在位置

如题所示

2.使用浏览器插件Katalon Recorder进行定位

点击扩展程序打开Katalon Recorder

在左边Test Suites中点击右边加号,可以添加测试用例

点击右上角的Record进行录制,过程中可以进行各种操作,例如点击课程-点击编程开发-点击登录-输入账号密码-点击登录-点击个人中心-点击退出登录

如果网站自动保存密码,则会获取两次账号密码的输入,点击Play test Case运行时点击继续便可以。

以下的获取的结果

点击Export便可以查看运行的脚本

还会提供各种语言的脚本,但是这种脚本很容易出错,虽然不会直接导出使用,但是可以作为辅助公具来使用。

三.测试登录和退出功能

代码如下,需要注意退出部分用到了鼠标部分的知识

ac=ActionChains(driver)#创建一个鼠标
xf = driver.find_element(By.CLASS_NAME, "dropbtn")#定位到下拉窗
ac.move_to_element(xf)#将鼠标悬浮在下拉窗上,以此来显示出退出界面
ac.perform()#鼠标执行,如果没有这条命令上面关于鼠标悬浮的指令是不会启用
import time
from selenium.webdriver.common.action_chains import ActionChains
from selenium import webdriver
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.by import By
import unittest
class UntitledTestCase(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        # 设置浏览器窗口最大化
        self.driver.maximize_window()
        # 设置等待时间
        self.driver.implicitly_wait(10)
        # 访问学成在线教育平台
        self.driver.get("http://xczx2-portal.itheima.net/")
    def test_login_and_logout(self, expect="13810000002"):
        driver = self.driver
        # 定位"登录"文本链接并单击
        driver.find_element(By.LINK_TEXT,"登录").click()
        username = driver.find_element(By.XPATH,"/html/body/div/div/div[3]"
                                                "/form/div[1]/div/div/input")
        username.clear()
        username.send_keys("13810000002")
        password = driver.find_element(By.XPATH,"/html/body/div/div/div[3]"
                                                "/form/div[2]/div/div/input")
        password.clear()
        password.send_keys("888itcast.CN764%...")
        # 定位"个人中心"文本链接并单击
        driver.find_element(By.CLASS_NAME,"el-button--primary").click()
        time.sleep(2)
        # 判断是否成功登录
        # account = self.driver.find_element(By.CLASS_NAME,"dropbtn").text
        # assert expect == account
        # 定位"个人中心"文本链接并单击
        driver.find_element(By.LINK_TEXT,"个人中心").click()
        time.sleep(2)
        ac=ActionChains(driver)
        xf = driver.find_element(By.CLASS_NAME, "dropbtn")
        ac.move_to_element(xf)
        ac.perform()
        
        # 定位"退出"文本链接并单击
        driver.find_element(By.ID,"btnLogout").click()
        print("成功退出学成在线教育平台")
    def tearDown(self):
        self.driver.quit()

四.测试页面跳转功能

整个过程只需要定位到自己要点击的具体位置,然后让代码进行点击便可以完成

验证是否跳转成功的页面重点在于,获取其中具有标识性的内容进行对比验证

测试代码

from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By
import unittest
expect_one = "最新"
expect_two = "获取验证码"
driver = webdriver.Chrome()
url = "http://xczx2-portal.itheima.net/"
driver.get(url)
driver.maximize_window()

 # 定位"课程"链接文本并单击
driver.find_element(By.ID,"course-page").click()
sleep(2)
 # 通过获取页面中"最新"文本判断课程页面是否跳转成功
newest = driver.find_element(By.LINK_TEXT,"最新").text
if expect_one == newest:
    print("课程页面跳转成功")
        # 定位"注册"链接文本并单击
driver.find_element(By.LINK_TEXT,"注册").click()
sleep(2)
        # 通过获取注册页面中的"获取验证码"文本判断注册页面是否跳转成功
verification_code = driver.find_element(By.XPATH,"/html/body/div/div/div[4]/form/div[2]""/div/div/div[2]/button/span").text
if expect_two == verification_code:
    print("注册页面跳转成功")
else:
    print("注册页面跳转失败")
# 定位"返回首页"链接文本并单击
driver.find_element(By.CLASS_NAME,"register").click()
sleep(2)
print("返回首页面跳转成功")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值