接口测试

parent 74994e66
# selenium_buyerscircle
![img.png](img.png)
buyerscircle selenium test
test wanghaiping 2021年8月12日
seesion 共享
~~~
import pytest
import requests
@pytest.fixture(scope="session")
def session():
return requests.Session()
@pytest.fixture(scope="session")
def dragonbays_login_session(session):
login_url="https://ph-au.dragonbays.cn/kangaroo/rest/admin/login"
params ={"login":"whp","pass":"a123456"}
resp=session.post(url=login_url,data=params)
# print(resp.cookies["bujiang_session_id"])
assert resp.status_code == 200
# return resp.json()
session.headers["bujiang_session_id"] = resp.cookies["bujiang_session_id"]
# session.headers["Cookie"] = resp.cookies["client_id"]
# session.headers["Cookie"] = resp.cookies["token"]
return session
def test_getUser(dragonbays_login_session):
url = "https://ph-au.dragonbays.cn/kangaroo/rest/admin/getUser"
resp_getUser = dragonbays_login_session.post(url=url,)
print(resp_getUser.json())
assert resp_getUser.status_code == 200
~~~
\ No newline at end of file
import time
from selenium.webdriver.support.ui import Select
class BasePage:
# 构造函数
def __init__(self, driver):
self.driver = driver
# 访问
def visit(self, url):
self.driver.get(url)
# 定位
def locate(self, loc):
return self.driver.find_element(*loc)
# 输入
def input(self, loc, txt):
self.locate(loc).send_keys(txt)
# 点击
def click(self, loc):
self.locate(loc).click()
\ No newline at end of file
# 这个是失败账号
-
mobile: 17611538195
password: '1111111'
# 这个是正常账号
-
mobile: 18234466549
password: '32395sun'
# 这个是正常账号
-
mobile: 15906626997
password: 'wang6635854'
\ No newline at end of file
"""
挂图收藏
"""
from base.basePage import BasePage
from selenium.webdriver.common.by import By
class CollectObject(BasePage):
# 点击下拉框选择挂图
span = (By.XPATH, '/html/body/div[1]/section[2]/div/div[2]/div/div[1]/div[1]/p[1]')
def collect(self):
# self.visit(self.url)
self.click(self.span)
import time
from selenium.webdriver.common.by import By
from base.basePage import BasePage
class DownloadObject(BasePage):
# 网址
url = 'https://cloud.kepuchina.cn/newSearch/wallList?sort_rule=0'
#
downloadIcon = (By.XPATH, '/html/body/div[1]/section[2]/div/div[2]/div/div[1]/div[2]/p[1]/a/i')
checkIcon = (By.XPATH, '//*[@id="layui-layer2"]/div[3]/a')
def download(self):
self.visit(self.url)
self.click(self.downloadIcon)
"""
这个对象实现从首页选择挂图,搜索 病毒 关键字
"""
import time
from base.basePage import BasePage
from selenium.webdriver.common.by import By
from selenium import webdriver
class GImageObject(BasePage):
# 首页
url = 'https://cloud.kepuchina.cn/'
# 点击下拉框选择挂图
span = (By.CLASS_NAME, 'type-content')
# guaTu = (By.XPATH, '/html/body/div[1]/div/section[1]/div/div/div[1]/ul/li[4]/a')
guaTu = (By.XPATH, '/html/body/div[1]/div/section[1]/div/div/div[1]/ul/li[4]')
# 搜索框 搜索按钮
s = (By.CLASS_NAME, '_sKey')
clickButton = (By.CLASS_NAME, 'search_icon')
def operation(self, s):
self.visit(self.url)
self.click(self.span)
self.click(self.guaTu)
self.input(self.s, s)
self.click(self.clickButton)
# if __name__ == '__main__':
# driver = webdriver.Chrome("C:\Program Files\chromedriver.exe")
# search = '病毒'
# index = GImageObject(driver)
# index.operation()
# time.sleep(2)
# # 根据页面规则,page属性里倒数第三个 a 标签为总页数 @TODO 应该封装
# totalPage = driver.find_element_by_class_name("page").find_elements_by_tag_name("a")[-3].text
# total = int(totalPage)
# index = 1
#
# # 点击下一页
# while index <= total:
# # 跳转到第二页
# if index == total:
# break
#
# index += 1
# current = str(index)
# next_page = driver.find_element_by_class_name("page").find_element_by_link_text(current)
#
# next_page.click()
# time.sleep(1)
import time
from base.basePage import BasePage
from selenium.webdriver.common.by import By
from selenium import webdriver
class LoginObject(BasePage):
# 登录网址
url = 'https://cloud.kepuchina.cn/account/login'
# 手机号和密码
mobile = (By.ID, 'userName')
password = (By.ID, 'password')
button = (By.CLASS_NAME, '_loginBtn')
def login(self, mobile, password):
self.visit(self.url)
self.input(self.mobile, mobile)
self.input(self.password, password)
self.click(self.button)
import time
import unittest
from selenium import webdriver
from webdriver_helper import get_webdriver
from pageObject.collectObject import CollectObject
from pageObject.loginObject import LoginObject
from pageObject.gImageObject import GImageObject
from ddt import ddt, file_data, data
@ddt
class TestCase(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
cls.driver = get_webdriver()
cls.lg = LoginObject(cls.driver)
cls.gImage = GImageObject(cls.driver)
cls.collect = CollectObject(cls.driver)
@classmethod
def tearDownClass(cls) -> None:
cls.driver.quit()
@file_data('../data/user.yaml')
def test_1_login(self, mobile, password):
self.lg.login(mobile, password)
time.sleep(2)
@data('病毒', '癌症')
def test_2_search(self, s):
# search = '病毒'
self.gImage.operation(s)
time.sleep(2)
def test_3_collect(self):
self.collect.collect()
time.sleep(2)
if __name__ == '__main__':
unittest.main()
import pytest
import requests
@pytest.fixture(scope="session")
def session():
return requests.Session()
@pytest.fixture(scope="session")
def dragonbays_login_session(session):
login_url="https://ph-au.dragonbays.cn/kangaroo/rest/admin/login"
params ={"login":"whp","pass":"a123456"}
resp=session.post(url=login_url,data=params)
# print(resp.cookies["bujiang_session_id"])
assert resp.status_code == 200
# return resp.json()
session.headers["bujiang_session_id"] = resp.cookies["bujiang_session_id"]
# session.headers["Cookie"] = resp.cookies["client_id"]
# session.headers["Cookie"] = resp.cookies["token"]
return session
def test_getUser(dragonbays_login_session):
url = "https://ph-au.dragonbays.cn/kangaroo/rest/admin/getUser"
resp_getUser = dragonbays_login_session.post(url=url,)
print(resp_getUser.json())
assert resp_getUser.status_code == 200
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment