小说网站测试

目录

通用测试点

 登录页面测试

 接口测试

UI测试

注册页面

 接口自动化

UI测试

忘记密码页面

 接口测试

 UI测试

 修改密码页面

进行接口测试

 UI测试

主页页面测试

分类页面测试

​查询页面测试

作者页面测试

阅读小说页面测试

书架页面测试


通用测试点

 登录页面测试

 接口测试

2.1、使用接口测试,测试多种结果的返回情况

主要包括:

  • 1、数据输入存在未输入情况
  • 2、数据输入null值
  • 3、数据输入长度不符合要求 (使用等价类,比如用户名长度[3,10],测试长度为2,3,10,11的情况)
  • 4、数据输入类型不匹配
  • 5、用户名不存在 
  • 6、验证码错误
  • 7、验证码过期(两分钟)
  • 8、用户名密码不匹配
  • 9、用户名称,密码包括特殊字符
  • 10、用户登陆成功

包含25个测试用例

UI测试

使用UI测试,检测不同情况下的页面展示情况

1、测试前6个数据

import time
import uuid

from selenium import  webdriver

import pytest
from selenium.webdriver.common.by import By
from selenium.webdriver.support import wait, expected_conditions
import requests
from selenium.webdriver.support.wait import WebDriverWait

class TestLogin():
    @pytest.mark.parametrize(('name,password,verification,body'),
   [["","123","123","存在未输入数据"],["123", "", "23", "存在未输入数据"], ["123", "123", "", "存在未输入数据"],
    ['1', '12345678910', '1234',"用户名或者密码不符合要求"], ['lyq', "123", "1234", "用户名或者密码不符合要求"],
    ["lyq","12345678910","1","验证码错误"]]  )
    def test_login(self,name,password,verification,body,getDriver):
        getDriver.get("http://localhost:8080/novel/login.html")
        Name=getDriver.find_element(By.XPATH,'//*[@id="username"]')
        Password = getDriver.find_element(By.XPATH, '//*[@id="password"]')
        Ver= getDriver.find_element(By.XPATH, '//*[@id="code"]')
        Name.send_keys(name)
        Password.send_keys(password)
        Ver.send_keys(verification)
        time.sleep(1)
        view =getDriver.find_element(By.XPATH,'//*[@id="view"]')
        view.click()
        submit=getDriver.find_element(By.XPATH,'//*[@id="submit"]')
        submit.click()
        alert = WebDriverWait(getDriver, timeout=10).until(expected_conditions.alert_is_present())
        time.sleep(2)
        text=alert.text
        print(text)
        alert.accept()
        assert  text==body

2、有的数据需要涉及到验证码的输入,进行手工测试

注册页面

 接口自动化

 

 主要包括:

  • 1、数据输入存在未输入情况
  • 2、数据输入null值  (分为null和"null")
  • 3、数据输入长度不符合要求 (使用等价类,比如用户名长度[3,10],测试长度为2,3,10,11的情况)
  • 4、数据输入类型不匹配
  • 5、用户名已经存在 
  • 6、验证码错误
  • 7、验证码过期(两分钟)
  • 8、邮箱格式验证(长度,10位数字,后缀验证)
  • 9、邮箱已经被注册
  • 10、用户名称,密码,邮箱包含特殊字符
  • 11、验证码刷新,能否正确使用
  • 12、用户一旦注册成功,可以检验是否可以登录

UI测试

1、 提取数据验证

import time
import uuid

from openpyxl.reader.excel import load_workbook
from selenium import  webdriver

import pytest
from selenium.webdriver.common.by import By
from selenium.webdriver.support import wait, expected_conditions
import requests
from selenium.webdriver.support.wait import WebDriverWait
from openpyxl import workbook
from openpyxl.reader.excel import load_workbook


def read(path):
    file = load_workbook(path)  # 打开文件
    graph = file.active  # 打开默认工作表 (第一张)
    # 使用迭代器 遍历每一行的数据 因为数据是从第二行开始的 所以min_row=2,values_only表示只读取数据
    for data in graph.iter_rows(min_row=2, values_only=True):
        yield data  # 迭代返回每一行数据
    # yield让函数变成生成器函数 让函数从上次的位置继续执行


class TestRegister():
    @pytest.mark.parametrize("name,password,surePassword,verification,email,body",
                             read(r"C:\python学习\小说项目测试\界面测试\注册页面测试\data.xlsx"))
    def test_login(self, name, password, surePassword, verification, email, body, getDriver):
       if(name==None):
           name=""
       if(password==None):
           password=""
       if(surePassword==None):
           surePassword=""
       if(verification==None):
           verification=""
       if(email==None):
           email=""
       getDriver.get("http://localhost:8080/novel/register.html")
       getDriver.maximize_window()
       Name = getDriver.find_element(By.XPATH, '//*[@id="username"]')
       Password = getDriver.find_element(By.XPATH, '//*[@id="password"]')
       time.sleep(1)
       view = getDriver.find_element(By.XPATH, '//*[@id="view"]')
       view.click()
       SurePassword = getDriver.find_element(By.XPATH, '//*[@id="password_again"]')
       SureView = getDriver.find_element(By.XPATH, '//*[@id="view_again"]')
       time.sleep(1)
       SureView.click()
       Email = getDriver.find_element(By.XPATH, '//*[@id="email"]')
       Ver = getDriver.find_element(By.XPATH, '//*[@id="code"]')
       Name.send_keys(name)
       Password.send_keys(password)
       SurePassword.send_keys(surePassword)
       Email.send_keys(email)
       Ver.send_keys(verification)
       time.sleep(3)
       submit = getDriver.find_element(By.XPATH, '//*[@id="submit"]')
       submit.click()
       alert = WebDriverWait(getDriver, timeout=10).until(expected_conditions.alert_is_present())
       time.sleep(2)
       text = alert.text
       alert.accept()
       assert text == body

 2、对其他需要获取验证码的数据,进行手工UI测试

忘记密码页面

 接口测试

  • 1、数据输入存在未输入情况
  • 2、数据输入null值  (分为null和"null")
  • 3、数据输入长度不符合要求 (使用等价类,比如用户名长度[3,10],测试长度为2,3,10,11的情况)
  • 4、数据输入类型不匹配
  • 5、用户名和邮箱匹配(用户名称和邮箱校验,其中邮箱不论是QQ.com或者qq.com为后缀,只要前10位数字相同即可)
  • 6、邮箱格式不正确
  • 7、验证码错误,验证码过期
  • 8、邮箱和用户名不匹配(用户名不存在,邮箱不存在,用户名和密码不匹配)

注意:这里如果测试用例中先有一个校验成功的case,会设置一个session,(如果之前的session没有过期)这里获取的是和验证码同一个session,然后session的有效期被更新设置为了5分钟。如果继续设置验证码过期的case(设置两分钟),那么验证码是不会过期的

getsession(true):当参数为true时,若存在会话,则返回该会话,否则创建一个会话

 

 UI测试

1、检测前六个数据

class TestForget():
    @pytest.mark.parametrize(('name,email,verification,body'),
    [["","123","123","存在未输入数据"],["123", "", "124", "存在未输入数据"], ["123", "123", "", "存在未输入数据"],
    ['1', '12345678910', '1234',"用户名长度不符合要求"], ['lyq', "123", "1234", "邮箱格式不正确"],
    ["lyq","12345678910@123.com","1234","邮箱格式不正确"]] )

    def test_forget(self,name,email,verification,body,getDriver):
        getDriver.get("http://localhost:8080/novel/forget.html")
        Name = getDriver.find_element(By.XPATH, '//*[@id="username"]')
        Email = getDriver.find_element(By.XPATH, '//*[@id="email"]')
        Ver = getDriver.find_element(By.XPATH, '//*[@id="code"]')

        Name.send_keys(name)
        Email.send_keys(email)
        Ver.send_keys(verification)
        time.sleep(1)
        submit = getDriver.find_element(By.XPATH, '//*[@id="submit"]')
        submit.click()
        alert = WebDriverWait(getDriver, timeout=10).until(expected_conditions.alert_is_present())
        time.sleep(2)
        text = alert.text
        alert.accept()
        assert text == body

 2、手工测试后面的数据

 修改密码页面

1、前置要求:忘记页面页面校验成功(5分钟的session)

2、邮箱发送信息包含验证码(5分钟过期,响应头的Email中,存储了验证码数据)

进行接口测试

用户忘记密码页面登陆成功,才可以来到修改密码页面

 UI测试

1、检测数据

import time
import uuid

from selenium import  webdriver

import pytest
from selenium.webdriver.common.by import By
from selenium.webdriver.support import wait, expected_conditions
import requests
from selenium.webdriver.support.wait import WebDriverWait

class TestForget():
    @pytest.mark.parametrize(('email,password,surepassword,body'),
    [["","123","123","存在未输入数据"],
     ["1123", "", "123", "存在未输入数据"],
     ["123", "123", "", "存在未输入数据"],
     ["123", "123", "1231", "两次密码不匹配"],
    ['123', '123', '123',"密码长度不足"]
    ])

    def test_forget(self,email,password,surepassword,body,getDriver):
        getDriver.get("http://localhost:8080/novel/change.html")
        alert = WebDriverWait(getDriver, timeout=10).until(expected_conditions.alert_is_present())
        alert.accept()
        time.sleep(3)
        #进入页面 因为此时没有发送邮件 所以弹窗内容是”邮件未发送“
        Password = getDriver.find_element(By.XPATH, '//*[@id="password"]')
        Email = getDriver.find_element(By.XPATH, '//*[@id="email"]')
        SurePassword = getDriver.find_element(By.XPATH, '//*[@id="password_again"]')
        Email.send_keys(email)
        Password.send_keys(password)
        SurePassword.send_keys(surepassword)
        time.sleep(3)
        submit = getDriver.find_element(By.XPATH, '//*[@id="submit"]')
        submit.click()
        alert = WebDriverWait(getDriver, timeout=10).until(expected_conditions.alert_is_present())
        time.sleep(2)
        text = alert.text
        print(alert.text)
        alert.accept()
        assert text == body

 2、手工测试

主页页面测试

  1、点击分类表格,检测跳转页面的分类信息和页面标题,是不是和所点击分类相对应

import time
from telnetlib import EC

import pytest
from selenium.webdriver.common.by import By
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC, wait


#点击主页的分类表格,检测跳转页面的数据是不是为同一个分类的书籍
def test_demo(getDriver):
    getDriver.get("http://localhost:8080/novel/homepage.html")
    current=getDriver.current_window_handle
    #表格的分类数据的xpath
    # //*[@id="table"]/tbody/tr[1]/td[1]/a   #//*[@id="table"]/tbody/tr[1]/td[2]/a
    #//*[@id="table"]/tbody/tr[2]/td[1]/a
    classifys = getDriver.find_elements(By.XPATH,'//*[@id="table"]/tbody/tr/td/a')
    opened=[]
    opened.append(current)
    for classify in classifys:
        value = classify.text
        print(value)
        time.sleep(3)
        classify.click()
        for page in getDriver.window_handles:
            if page not in opened:
                getDriver.switch_to.window(page)
                opened.append(page)
        # 等待页面加载到元素出现
        WebDriverWait(getDriver, timeout=10).until(
            lambda d: d.find_element(By.XPATH, '/html/body/span[4]/span[2]/span/p'))
        # 1、检测页面的title是否正确
        assert getDriver.title == value + "书籍"
        # 2、检测推荐书籍页面的页面标签 是不是同样的分类书籍
        # / html / body / span[2] / span[1] / div[2] / div[1] / a[1]
        # / html / body / span[2] / span[1] / div[3] / div[1] / a[1]
        # / html / body / span[2] / span[1] / div[4] / div[1] / a[1]
        # 获取到上述所有元素
        values = getDriver.find_elements(By.XPATH, '/html/body/span[2]/span[1]/div/div[1]/a[1]')
        for val in values:
            assert val.text == value

        # 3、书籍介绍分类处
        assert getDriver.find_element(By.XPATH, '/html/body/span[3]').text == value + "书籍"
        # 4、榜一的数据分类
        try:
            ele = getDriver.find_element(By.XPATH, '/html/body/span[4]/span[2]/span/span[1]/span[1]/span/span[1]/a')
            assert ele.text == value
        except:  # 捕捉到了异常
            pass
        getDriver.switch_to.window(current)


2、本周推荐的分类检测

import time
from telnetlib import EC

import pytest
from selenium.webdriver.common.by import By
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC, wait


#本周推荐的分类测试
def test_demo(getDriver):
    getDriver.get("http://localhost:8080/novel/homepage.html")
    current=getDriver.current_window_handle
    #/html/body/span[3]/span[1]/div[2]/span/a[1]
    #/html/body/span[3]/span[1]/div[3]/span/a[1]
    classifys = getDriver.find_elements(By.XPATH,'/html/body/span[3]/span[1]/div/span/a[1]')
    opened=[]
    opened.append(current)
    for classify in classifys:
        value = classify.text
        print(value)
        classify.click()
        for page in getDriver.window_handles:
            if page not in opened:
                getDriver.switch_to.window(page)
                opened.append(page)
        # 等待页面加载到元素出现
        WebDriverWait(getDriver, timeout=10).until(
            lambda d: d.find_element(By.XPATH, '/html/body/span[4]/span[2]/span/p'))
        # 1、检测页面的title是否正确
        assert getDriver.title == value + "书籍"
        # 2、检测推荐书籍页面的页面标签 是不是同样的分类书籍
        # / html / body / span[2] / span[1] / div[2] / div[1] / a[1]
        # / html / body / span[2] / span[1] / div[3] / div[1] / a[1]
        # / html / body / span[2] / span[1] / div[4] / div[1] / a[1]
        # 获取到上述所有元素
        values = getDriver.find_elements(By.XPATH, '/html/body/span[2]/span[1]/div/div[1]/a[1]')
        for val in values:
            assert val.text == value

        # 3、书籍介绍分类处
        assert getDriver.find_element(By.XPATH, '/html/body/span[3]').text == value + "书籍"
        # 4、榜一的数据分类
        try:
            ele = getDriver.find_element(By.XPATH, '/html/body/span[4]/span[2]/span/span[1]/span[1]/span/span[1]/a')
            assert ele.text == value
        except:  # 捕捉到了异常
            pass
        getDriver.switch_to.window(current)


3、本周推测的书籍点击(检测页面跳转的书籍信息是否和数据库匹配)

import time
from telnetlib import EC

import pytest
from selenium.webdriver.common.by import By
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC, wait

#本周推荐的分类测试
def test_demo(getDriver,getconnect):
    getDriver.get("http://localhost:8080/novel/homepage.html")
    current=getDriver.current_window_handle
    #/html/body/span[3]/span[1]/div[2]/span/a[2]
    # #/html/body/span[3]/span[1]/div[3]/span/a[2]
    classifys = getDriver.find_elements(By.XPATH,'/html/body/span[3]/span[1]/div/span/a[2]')
    opened=[]
    opened.append(current)
    for classify in classifys:
        value = classify.text
        classify.click()
        for page in getDriver.window_handles:
            if page not in opened:
                getDriver.switch_to.window(page)
                opened.append(page)

        # 等待页面加载到元素出现
        WebDriverWait(getDriver, timeout=10).until(lambda d: d.find_element(By.XPATH, '//*[@id="textarea"]'))
        # 1、检测页面的title是否正确
        assert getDriver.title == value
        #2、检测页面书籍名称
        assert getDriver.find_element(By.XPATH,'/html/body/span[1]/span[2]/span[1]/span').text==value
        #3、检测书籍信息和数据库是否匹配
        #创建游标对象
        cur=getconnect.cursor()
        sql="select * from book where book_name=('%s')"%(value)
        cur.execute(sql)
        result=cur.fetchone()

       #验证作者信息
        assert result[1]+" 著"==getDriver.find_element(By.XPATH,'//*[@id="writername"]').text
       #验证书名
        assert result[3]==value
        #验证分类
        assert result[4]==getDriver.find_element(By.XPATH,'//*[@id="style"]').text
        #验证状态
        assert result[8]==getDriver.find_element(By.XPATH,'//*[@id="state"]').text

        getDriver.switch_to.window(current)

分类页面测试

进行接口测试

将分类查找的书籍,和数据库数据相比对

检测type不是total,sex,state时的返回结果

import pytest
import requests
import yaml
from selenium.webdriver.chrome import webdriver
from selenium.webdriver.common.by import By

import common.yaml
import debug_talk
from classify.package import Unifiedrequest
@pytest.mark.parametrize('values,sql', [
('count=3&type=total', 'select * from book limit 3'),
    ('type=total&state=完结', 'none'), ('type=total&count=3', 'select * from book limit 3'),   ('type=total&count=-1', 'none'),('type=total&count=0', 'none'),('type=total&count=null', 'none'),
    (('type=null&count=null', 'none')),('type="null"&count=-1', 'none'),(('type=null&state="完结"', 'none')),('type="null"&classify_name=玄幻', 'none'),
    (('type=classify&count=null', 'none')), ('type="classify"&classify_name="null"', 'none'),(('type="classify"&state="完结"', 'none')), ('type=classify&classify_name=玄幻 &count=3', 'select * from book where classify_name="玄幻" limit 3'),
    (('type=state&count=null', 'none')) ,   ('type=state&sex=全部', 'none'),('type=state&count=-1', 'none'),(('type=state&state=全部&count=10', 'select * from book where state="全部" limit 10')),
    (('type=sex&count=null', 'none')), ('type=sex&state=null', 'none'),('type="sex"&sex=null', 'none'),
    (('type=sex&sex=全部&count=10', 'select * from book where sex="全部" limit 10')),
    (('type=ttgjj&sex=全部&count=10', 'none')),(('type=sex&sex="hhh"&count=10', 'none')), ('type=ttgjj&dfghj=全部&count=10', 'none')
                 ,('type="ttgjj"&ghj="全部"', 'none')
     ])
def test_send(values, sql, getconnect):
    res = requests.session().get(url='http://127.0.0.1:8080/novel/getshowbooks', params=values)
    try:
        results = res.json()
        cur = getconnect.cursor()
        count = cur.execute(sql)
        books = cur.fetchall()
        i = 0
        for book in books:
            i += 1
            falg = False
            for result in results:
                if (int)(book[0]) == result['book_id'] and \
                        book[1] == result['writer_name'] and \
                        book[2] == result['photo'] and \
                        book[3] == result['book_name'] and \
                        book[4] == result["classify_name"] and \
                        book[5] == result['book_brief']:
                    falg = True
                    break
            assert falg == True
        assert i == count
    except:
        assert sql=='none'

查询页面测试

import time
from telnetlib import EC

import pytest
from selenium.webdriver.common.by import By
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC, wait

@pytest.mark.parametrize('value,method',[
    ('余华','author'),  ('东野圭吾','author'),('曹雪芹','author'),
    ('红楼梦','book'),('三国演义','book'),('白夜行','book'),('三国演义','book'),
    (' ','author')
]
)
#搜索功能的展示
def test_demo(value,method,getDriver,getconnect):
    getDriver.get('http://localhost:8080/novel/search.html')
    getDriver.find_element(By.XPATH, '//*[@id="search"]').clear()
    getDriver.find_element(By.XPATH, '//*[@id="search"]').send_keys(value)
    getDriver.find_element(By.XPATH, '//*[@id="searchbutton"]').click()
    time.sleep(1)
    cursion = getconnect.cursor()

    if (method == 'author'):
        sql = "select  book. * from book where writer_name like concat('%s')" % (value)
        booksname = []  # 书名称
        rowcount = (cursion.execute(sql))  # 执行sql语句
        writers = cursion.fetchall()
        print(writers)
        # 搜索数量的展示
        books = getDriver.find_elements(By.XPATH, '/html/body/span[2]/span')
        assert rowcount == len(books)
        #书籍名称
        #/html/body/span[2]/span[1]/span[2]/span[1]/a
        #/html/body/span[2]/span[2]/span[2]/span[1]/a

        web_books = getDriver.find_elements(By.XPATH, '/html/body/span[2]/span/span[2]/span[1]/a')
        for book in web_books:
            booksname.append(book.text)

        for writer in writers:
            book_id = writer[2]
            # 获取book_id
            sql_book = "select * from book where book_id=('%s')" % (book_id)
            cursion.execute(sql_book)
            result = cursion.fetchone()
            assert result[3] in booksname

    if (method == 'book'):
        sql = "select  book. * from book where book_name like concat('%s')" % (value)
        rowcount = (cursion.execute(sql))  # 执行sql语句
        values = []
        # 搜索数量的展示
        # / html / body / span[2] / span[2] / span[2] / span[1] / a
        # / html / body / span[2] / span[1] / span[2] / span[1] / a
        books = getDriver.find_elements(By.XPATH, '/html/body/span[2]/span')
        assert rowcount == len(books)
        # 数据库查找结果
        rowcount = (cursion.execute(sql))  # 执行sql语句
        results = cursion.fetchall()
        print(results)
        # 前端展示的书籍名称
        web_books = getDriver.find_elements(By.XPATH, '/html/body/span[2]/span/span[2]/span[1]/a')
        for name in web_books:
            values.append(name.text)

        flag = False
        for val in values:
           for i in range(0,rowcount):
               if(val==results[i][3]):
                   flag = True

        assert flag == True


作者页面测试

查询展示的作者书籍总数,书籍信息介绍是否和数据库匹配

import time
from telnetlib import EC

import pytest
from selenium.webdriver.common.by import By
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC, wait



def test_demo(getDriver, getconnect):
    cursion = getconnect.cursor()
    sql = 'select * from book'
    rowcount = cursion.execute(sql)  # 执行sql语句
    for i in range(1,rowcount):
     try:
        getDriver.get("http://localhost:8080/novel/novel.html?book_id=" + str(i))
        current = getDriver.current_window_handle
        WebDriverWait(getDriver, timeout=10).until(lambda d: d.find_element(By.XPATH, '//*[@id="textarea"]'))
        value = getDriver.find_element(By.XPATH, '//*[@id="writername"]').text
        value = value.split(' ')[0]
        print(value)
        getDriver.find_element(By.XPATH, '//*[@id="writername"]').click()
        # 等待页面加载到元素出现
        for page in getDriver.window_handles:
            if page != current:
                getDriver.switch_to.window(page)

        WebDriverWait(getDriver, timeout=10).until(
            lambda d: d.find_element(By.XPATH, '/html/body/span[3]/span[1]/span[2]'))
        # 1、检测页面的title是否正确
        assert getDriver.title == value
        # 2、连接数据库
        cursion = getconnect.cursor()
        sql = 'select * from writer where writer_name=("%s")' % (value)
        rowcount = (str)(cursion.execute(sql))  # 执行sql语句
        assert "作品总数 " + rowcount == getDriver.find_element(By.XPATH, '/html/body/span[1]/span/span[2]').text
        writers = cursion.fetchall()
        # 书的名称 /html/body/span[3]/span[1]/span[2]/span[1]/a
        #          /html/body/span[3]/span[2]/span[2]/span[1]/a

        web_books = getDriver.find_elements(By.XPATH, '/html/body/span[3]/span/span[2]/span[1]/a')
        print(web_books)
        books = []  # 书名称
        for book in web_books:
            books.append(book.text)

        for writer in writers:
            book_id = writer[2]  # 获取book_id
            sql_book = "select * from book where book_id=('%s')" % (book_id)
            cursion.execute(sql_book)
            result = cursion.fetchone()
            assert result[3] in books

     except:
        raise NameError("打开网址错误", "http://localhost:8080/novel/novel.html?book_id=" + str(i))

阅读小说页面测试

1、查看各个页面的阅读小说按钮是否正确跳转

2、在用户未登录时,不会保留用户的阅读记录

3、如果用户登录,会保留阅读记录(直接阅读,会来到上一次阅读的章节)

4、阅读的几种方式:直接点击阅读按钮,点击目录阅读,点击上下一页阅读

5、小说第一章,不会出现上一页按钮。小说最后一章,不会出现下一页按钮

书架页面测试

Bug

1、登录页面、注册页面、修改密码页面,输入过长的密码时,可视组件被遮挡

2、各个页面在窗口缩放时,页面文字,组件会产生堆积

3、在注册页面,输入超过17位长度的邮箱数据,响应是500

(已解决,应该先限制邮箱长度==17,造成了下标越界)

4、搜索框不支持enter键确认

 5、在小说阅读页面,点击阅读按钮,会出现文章内容加载不成功的现象,但是重新刷新,就会加载成功

6、修改url(增加或者删除queryString部分,修改内容,修改值等),观察是否会跳转到404页面(页面没有跳转到404,已解决)

7、页面会出现排版左移的情况,比如

gitee链接:

登录 - Gitee.com

two 倩
关注 关注
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
小说阅读测试
会爆炸的原原
12-15 5480
小说阅读体验
小说网页功能测试
weixin_65417504的博客
03-17 1205
对于小说网页个人中心主要功能进行测试
【性能测试】功能简单的小说网站(Jmeter+fiddler实践)
尹煜的博客
04-22 3971
初学Jmeter,主要是学习它的性能测试内容,因为Jmeter可以很好地模拟请求的人数和次数(模拟实际情况的高并发),这篇文章主要是介绍配置环境、下载安装以及对一个功能非常简单(没有登录编辑等操作)的小说网站进行性能测试,以后有机会再和大家分享功能更为复杂的网站或app的性能测试内容。 Jmeter介绍及配置 1.Jmeter介绍 JMeter是一款纯java编写负载功能测试和性能测试开源工具软件,它是Apache基金(开源为主)旗下的软件。JMeter最大优势是开源及轻量级,而且适合自动化和.
移动端小说的优缺点测试用例
qesrdtcfvgb的博客
11-26 1184
移动端: 小说的优点 1.点击应用,应用加载界面很快,不会出现白板等问题 2.直接显示书架,不浪费如何时间直奔主题 3.书架自动显示上次阅读的书名,章数,标题等。 4.书架界面简洁清晰没有广告。 5.书架功能种类极多,书架管理,书架布局等。 6.应用所占内存资源少。 7.点击书架不会迟缓的显示阅读界面。 8.阅读有听书功能。 9.听书功能有多种明星声音 10.听书节奏掌控极好,跌宕起伏。 11.小说阅读背景种类多。 12.日间模式,夜间模式,保护眼模式。 13.每章节结束会有评论区,可评论自己的观点。 14
PC端小说的优缺点测试用例
qesrdtcfvgb的博客
11-26 480
PC端: 小说的优点 电脑端比移动端内容更加的多 。 界面更加大气,规整。 电脑有语音功能更加的完善。 小说内容丰富精彩。 老书新书都可以搜索到。 类型极多。 可以自动滚屏。 小说界面会有评论区,可以与书友交流。 电脑端小说首页没有广告。 电脑端小说界面可以总揽全局。 应用所占内存资源少。 点击书架不会迟缓的显示阅读界面。 听书功能有多种明星声音。 听书节奏掌控极好,跌宕起伏。 小说阅读背景种类多。 日间模式,夜间模式,保护眼模式。 每章节结束会有评论区,可评论自己的观点。 可下载书籍,离线看书。 可以收藏
小说网站和小说app用户体验
chuzixuan的博客
11-26 416
app端 发布活动的时候,对于活动的规则,用户可以获得的利益表述不清 进软件的时候跳过广告键太小,几乎每次都点进广告,和没有一样, 放小说老是自动停止,体验感很差,几乎是一集一停, 开通会员后热门一点的书都要花钱,会员免费的没什么好听的,虽然说会员便宜 登录验证码过慢印象体验 耗电过于严重 使用蓝牙耳机会自动开关(只限蓝牙耳机) 客服时常联系不上 积分卷和使用描述不一样 有的书看到一半在想看,搜索不到 app开启过慢 QQ登录登录不了 有声小说进度条快过完是跳到最头重新听 内容推送无法过滤 下载好的有声小说
基于LoadRunner的Web网站性能测试实施与分析——以小说网站为例.doc
09-09
基于LoadRunner的Web网站性能测试实施与分析——以小说网站为例 LoadRunner是HP公司开发的一款性能测试工具,广泛应用于Web网站、移动应用程序、云计算等领域。 LoadRunner的工作原理是通过模拟多个虚拟用户的同时...
网站测试文档
02-09
随着网络技术的快速发展,直接和用户有关的Web项目越来越受到人们的关注。其不仅要在长时间的大量操作,还要防备来自网络上方方面面的...试图描绘一个简洁而全面的web测试概要,以方便大家对Web测试有一个简单的了解。
SSM项目-小说网站
m0_58342797的博客
02-02 2078
小说网站
史上最全APP通用测试用例
06-26
史上最全的APP通用测试用例。推荐理由:从安装卸载推送等功能方面,到安全性、易用性、兼容性、性能等等方面对APP的各个点进行检查,非常全面,是测试APP必备。
小说体验报告测试用例设计点
q1011334002的博客
12-15 1593
1.未登录是否可以收藏书籍到书架 2.书籍信息是否与作者编辑的相符 3.作者更新章节时app是否可以实时更新 4.如书籍包含政治敏感,色情,暴力,血腥等内容是否会下架 5.翻页功能是否能正常使用 6.翻页功能是否可以更改样式 7.是否可以更改文字样式,如颜色.字体.行间距等 8.听书功能是否可用 9.是否会根据用户近期阅读的书籍进行智能推荐 10.不同ip是否可以同时登录一个账号 11.如果不同ip可以同时登陆一个账号并阅读同一本书,那么书籍阅读百分比如何保存 12.小说内容在阅读时是否会缓存后续章节 13
小说测试用页面
weixin_30602505的博客
10-30 399
百度一下 百度一下2 打开图书详情 打开书单列表 打开书单详情 打开书城 打开点趣 打开发现 打开点趣阅读 打开点趣榜单--热门推荐 打开排行榜页面 打开分类页面 打开完结列表 -----备注-------- 打开图书详情open: 'fhnovel://zh/home?data={"mId":1,"bId":23982}' 打开书单列表open: 'fh...
基于区块链技术的小说阅读平台测试用例编写经验
最新发布
cici3450的博客
04-29 747
通过这些测试用例,我们能够确保我们的平台在功能上能够满足用户的需求,并且在用户体验上达到高标准。测试是一个持续的过程,我们会继续优化测试用例,以应对未来可能出现的新需求和挑战。
App测试用例
q879521072的博客
07-30 300
UI测试 UI 即用户界面,使用者界面。 是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换 目 标 1、用户界面(如菜单、对话框、窗口和其它可规控件)布局 2、风格是否满足客户要求 3、文字是否正确 4、页面是否美观、文字、图片组合是否完美、操作是否友好等。 UI测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏觅功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试测试用例编写 测试用例测试工作项目,罗列出
测试用例(二)APP基本功能测试用例
weixin_44937156的博客
08-12 407
小说体验报告测试点分析
B_12138的博客
12-15 1312
文章目录app小说体验报告测试点分析 app小说体验报告测试点分析 页面精美,吸引读者 种类多样,可随意选择 分类清晰,模块分明,可以选择想要的专栏去读 阅读时页面不会弹出广告,无用的信息 阅读时不会出现闪退,或者页面划不动,无法翻页等情况 来电或者短信,去查看详情后返回小说页是否还是之前浏览的位置 将小说放入书架,退出登录在进入该书城书架上是否有这本书 付费小说是否每章都要付费 免费小说是否可以正常阅读,不需要付费 有签到活动,可以获取阅票,用阅票抵销金额,活动真实 阅读几本书后是否会有推荐自己平时预
App测试分类总结及方法
小哥哥~的博客
10-25 1516
一、安全测试 1.软件权限 扣费风险:包括短信、拨打电话、连接网络等。 隐私泄露风险:包括访问手机信息、访问联系人信息等。 对App的输入有效性校验、认证、授权、数据加密等方面进行检测 限制/允许使用手机功能接入互联网 限制/允许使用手机功能接入互联网 限制/允许使用手机发送接收信息功能 限制或使用本地连接 限制/允许使用手机拍照或录音 限制/允许使用手机读取用户数据 限制/允许使用手机写入用户...
帝国CMS小说网站模板源码下载
资源摘要信息:"帝国cms精仿牛牛书城小说网站模板.zip文件为一套基于帝国CMS内容管理系统(CMS)定制的小说网站模板,该模板模仿了知名的小说阅读网站牛牛书城的布局风格和功能。提供了一套完整的wap(移动设备访问)...
写文章

热门文章

  • c语言入门-程序运行的过程 6151
  • 操作系统---文件管理 5127
  • 数据结构---二叉树 4619
  • 操作系统---内存 4418
  • Linux常用命令 3881

分类专栏

  • Android
  • 操作系统 8篇
  • 习题 7篇
  • Leetcode习题 1篇
  • 笔记

最新评论

  • SpringMVC

    是闲花无声: 哇,小姐姐讲解的好细致,为小姐姐打call,太厉害啦!!!

  • Spring事务

    wwyy2233: 太感谢了帮了大忙表情包

  • LoadRunner

    沐雨听枫: 这个是loadrunnner多少有安装包吗?

  • SSM项目-小说网站

    m0_62961576: 怎样运行这个项目呀

  • SSM项目-小说网站

    毫毛生电: 博主好牛!!表情包表情包表情包表情包表情包

最新文章

  • redis缓存
  • redis
  • Spring事务
2023年12篇
2022年66篇
2021年36篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

深圳坪山网站建设公司seo网站创作与优化坪山网站关键词优化费用兰溪百度网站优化极速建站北京网站seo优化解决方案铜川网站优化工作室龙口seo网站优化霸州网站优化公司合肥专业网站优化费用seo网站优化有名的公司网站优化智搜宝官网推广能源网站优化联系方式江苏网站优化大图普陀网站优化推广网站结构优化若干方面金湾网站优化费用网站的弊端优化网站优化主要包含哪些方面线上网站优化明城网站优化价格网站怎么优化权重津南网站排名优化怀化企业网站优化推广奉节百度网站优化网站的推广和优化方案怎么写东莞铝型材网站seo优化优化免费网站新建电影网站如何优化武侯区网站优化seopr自学教程网站免费优化常州优化网站推广香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化