题目1:按照以下步骤在PyCharm中进行自动化测试脚本编写并执行。
1、设置智能时间等待5秒并将浏览器窗口最大化;
2、引入By方法类;
3、通过NAME方法定位用户名输入框,并输入用户名XTGLY;
4、通过NAME方法定位密码输入框,并输入密码123456;
5、使用CLASS_NAME方法进行登录提交;
6、通过PARTIAL_LINK_TEXT方法定位供应商信息按钮,并使用click()方法点击;
7、通过LINK_TEXT复数定位方法点击页面中第一条数据的查看按钮;
8、通过window_handles方法将标签页切换到第二个标签;
9、增加3秒强制时间等待;
10、使用get_screenshot_as_file对页面进行截图操作(命名为test_handles.png,存放在D盘根目录下);
11、使用CSS_SELECTOR方法定位并点击查看供应商弹窗右上角的X。
运用python编写
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 设置智能时间等待5秒并将浏览器窗口最大化
driver = webdriver.Chrome()
driver.implicitly_wait(5)
driver.maximize_window()
# 引入By方法类
By = By()
# 通过NAME方法定位用户名输入框,并输入用户名XTGLY
username_input = driver.find_element(By.NAME, "username")
username_input.send_keys("XTGLY")
# 通过NAME方法定位密码输入框,并输入密码123456
password_input = driver.find_element(By.NAME, "password")
password_input.send_keys("123456")
# 使用CLASS_NAME方法进行登录提交
login_button = driver.find_element(By.CLASS_NAME, "login-button")
login_button.click()
# 通过PARTIAL_LINK_TEXT方法定位供应商信息按钮,并使用click()方法点击
supplier_button = driver.find_element(By.PARTIAL_LINK_TEXT, "供应商信息")
supplier_button.click()
# 通过LINK_TEXT复数定位方法点击页面中第一条数据的查看按钮
view_button = driver.find_elements(By.LINK_TEXT, "查看")[0]
view_button.click()
# 通过window_handles方法将标签页切换到第二个标签
driver.switch_to.window(driver.window_handles[1])
# 增加3秒强制时间等待
driver.implicitly_wait(3)
# 使用get_screenshot_as_file对页面进行截图操作(命名为test_handles.png,存放在D盘根目录下)
driver.get_screenshot_as_file("D:/test_handles.png")
# 使用CSS_SELECTOR方法定位并点击查看供应商弹窗右上角的X
close_button = driver.find_element(By.CSS_SELECTOR, ".close-button")
close_button.click()
# 关闭浏览器
driver.quit()
1、搭建unittest框架;
2、引入By方法类;
3、定义setUp方法启动浏览器,增加3秒的智能等待,将浏览器窗口最大化;
4、定义tearDown方法关闭浏览器;
5、定义test_denglu01方法进入系统登录页面,通过CLASS_NAME方法定位用户名输入框,通过ID方法定位密码输入框并输入账号和密码(XTGLY/123456),通过XPATH方法定位并点击登录按钮;
6、定义test_denglu02方法进入系统登录页面,通过NAME方法定位用户名输入框,通过CSS_SELECTOR方法定位密码输入框并输入账号和密码(XTGLY/123456),通过TAG_NAME定位登录按钮并点击,通过PARTIAL_LINK_TEXT方法定位并点击“供应商信息”按钮,使用XPATH点击第一条数据的查看按钮,通过window_handles方法将标签页切换到第二个标签,点击查看供应商弹窗右上角的X,使用get_screenshot_as_file对页面进行截图操作;
7、通过unittest.main()方法执行测试用例。
运用python编写
import unittest
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
class TestLogin(unittest.TestCase):
def setUp(self):
# 启动浏览器
self.driver = webdriver.Chrome()
self.driver.implicitly_wait(3)
self.driver.maximize_window()
def tearDown(self):
# 关闭浏览器
self.driver.quit()
def test_denglu01(self):
# 进入系统登录页面
self.driver.get("登录页面的URL")
# 通过CLASS_NAME方法定位用户名输入框
username_input = self.driver.find_element(By.CLASS_NAME, "username")
username_input.send_keys("XTGLY")
# 通过ID方法定位密码输入框并输入账号和密码
password_input = self.driver.find_element(By.ID, "password")
password_input.send_keys("123456")
# 通过XPATH方法定位并点击登录按钮
login_button = self.driver.find_element(By.XPATH, "//button[text()='登录']")
login_button.click()
# 执行断言判断登录是否成功
self.assertTrue(EC.title_contains("登录成功"))
def test_denglu02(self):
# 进入系统登录页面
self.driver.get("登录页面的URL")
# 通过NAME方法定位用户名输入框
username_input = self.driver.find_element(By.NAME, "username")
username_input.send_keys("XTGLY")
# 通过CSS_SELECTOR方法定位密码输入框并输入账号和密码
password_input = self.driver.find_element(By.CSS_SELECTOR, "#password")
password_input.send_keys("123456")
# 通过TAG_NAME定位登录按钮并点击
login_button = self.driver.find_element(By.TAG_NAME, "button")
login_button.click()
# 通过PARTIAL_LINK_TEXT方法定位并点击“供应商信息”按钮
supplier_button = self.driver.find_element(By.PARTIAL_LINK_TEXT, "供应商信息")
supplier_button.click()
# 使用XPATH点击第一条数据的查看按钮
view_button = self.driver.find_element(By.XPATH, "(//a[text()='查看'])[1]")
view_button.click()
# 通过window_handles方法将标签页切换到第二个标签
self.driver.switch_to.window(self.driver.window_handles[1])
# 点击查看供应商弹窗右上角的X
close_button = self.driver.find_element(By.CSS_SELECTOR, ".close-button")
close_button.click()
# 使用get_screenshot_as_file对页面进行截图操作
self.driver.get_screenshot_as_file("D:/test_screenshot.png")
if __name__ == "__main__":
unittest.main()
测试数据:
商品分类名称 预期结果
111111111111111111111 商品分类名称输入有误,请重新输入。
步骤1:新建csv格式的测试数据testdata.csv,并编写csvv.py脚本读取csv中的测试数据。
步骤2:新建test01.py:
1、引入步骤1中的写好的数据读取的方法以及ddt方法类;
2、引入By方法类;
3、搭建unittest框架;
4、在setUp中打开谷歌浏览器,增加5秒的智能时间等待,将浏览器窗口最大化;
5、在tearDown中退出浏览器;
6、新建测试用例,通过TAG_NAME复数方法定位用户名输入框,并输入用户名XTGLY;
7、通过CLASS_NAME方法定位密码输入框,并输入密码123456;
8、查看登录页面中的登录按钮元素,通过NAME方法定位登录按钮,使用click()方法点击登录按钮进入系统首页;
9、通过PARTIAL_LINK_TEXT方法进行定位,使用click()方法点击“商品分类”按钮;
10、通过TAG_NAME复数方法点击“新增”按钮