韦奇_selenium_测试人论坛搜索功能实战

测试人论坛搜索功能实战

测试代码

import pytest
import time
import json
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

'''
获取chromedriver地址
    https://npm.taobao.org/mirrors/chromedriver/
    https://googlechromelabs.github.io/chrome-for-testing/
    http://chromedriver.storage.googleapis.com/index.html
    chromedriver --version

作业:
    打开测试人论坛。
    跳转到高级搜索页面
    搜索输入框输入搜索关键字。关键字清单如下:
    Selenium\        Appium\        面试
    打印搜索结果的第一个标题。
    断言:第一个标题是否包含关键字。

'''
class TestDemo01():
    def setup_method(self, method):
        # 实例化chromedriver
        self.driver = webdriver.Chrome()
        # 添加全局隐式等待
        self.driver.implicitly_wait(5)

    def teardown_method(self, method):
        # 关闭driver
        self.driver.quit()

    @pytest.mark.parametrize("case", [('python'),('Appium'),('面试')])
    def test_demo01(self,case):
        # 访问网站
        self.driver.get("https://ceshiren.com/search?expanded=true")
        self.driver.find_element(By.ID, "ember15").send_keys(case)
        self.driver.find_element(By.XPATH, '//*[@id="ember13"]/div[2]/div[1]/button').click()
        rep_text = self.driver.find_element(By.XPATH, '//*[@id="search-result-count"]/span[2]').text
        print(rep_text)
        assert case == rep_text


运行成功截图