企业网站关键词优化排名应该怎么做,好的网站建设价格,直播网站排名,网站建设费摊多久软件测试专栏
感兴趣可看#xff1a;软件测试专栏 自动化测试学习部分源码 python自动化测试相关知识#xff1a; 【如何学习Python自动化测试】—— 自动化测试环境搭建 【如何学习python自动化测试】—— 浏览器驱动的安装 以及 如何更…软件测试专栏
感兴趣可看软件测试专栏 自动化测试学习部分源码 python自动化测试相关知识 【如何学习Python自动化测试】—— 自动化测试环境搭建 【如何学习python自动化测试】—— 浏览器驱动的安装 以及 如何更新driver 【如何学习Python自动化测试】—— 页面元素定位 【如何学习Python自动化测试】—— 时间等待 【如何学习Python自动化测试】—— 浏览器操作 【如何学习Python自动化测试】—— 鼠标键盘操作 【如何学习Python自动化测试】—— 多层窗口定位 【如何学习Python自动化测试】—— 警告框处理 【如何学习Python自动化测试】—— Cookie 处理 【如何学习Python自动化测试】—— expected_conditions 【如何学习Python自动化测试】—— Python 的 unittest 框架 【如何学习Python自动化测试】—— HTMLTestRunner 生成测试报告 CSDN的Web页面自动化测试 软件测试专栏1. 测试页面的介绍2. 测试用例设计3. 测试框架介绍难易程度封装程度 4. 具体的自动化测试脚本PageObject包Scenario包TestCase包 5. 测试结果以及测试报告6. 总结7. 分录 1. 测试页面的介绍 CSDNChina Software Developer Network是中国最大的IT社区和知识分享平台提供了丰富的技术文章、博客、问答等内容吸引了大量的开发者和技术爱好者。测试的目标是针对CSDN的Web页面进行功能和性能测试。 CSDN首页页面CSDN的首页是用户访问CSDN网站的入口页面展示了最新的技术文章、博客、问答等内容。测试目标是验证CSDN首页页面是否成功加载包括页面元素是否正确显示、数据是否正常加载等。 CSDN登录功能CSDN网站提供了用户登录功能用户可以通过手机扫码进行登录以便享受更多的个性化服务和参与社区互动。测试目标是验证登录功能是否正常包括是否正确验证、登录后是否跳转到用户个人页面等。 页面顶部导航链接CSDN网站的页面顶部包含了一系列导航链接用于用户浏览和切换不同的内容板块。测试目标是验证顶部导航链接是否正常跳转包括点击链接后页面是否正确切换到对应板块的内容。 搜索功能CSDN网站提供了搜索功能用户可以通过输入关键词进行搜索以查找相关的技术文章、博客或问答。测试目标是验证搜索功能是否正常包括搜索结果是否准确、搜索框是否响应等。 页面的文章链接CSDN的页面中展示了大量的技术文章和博客用户可以点击文章链接进行阅读和查看详情。测试目标是验证页面的文章链接是否正常跳转包括点击链接后是否成功打开文章页面、文章内容是否正确显示等。 页面加载性能页面加载性能是指页面打开所需的时间和资源消耗情况。测试目标是验证页面加载性能是否在合理范围内包括页面打开时间是否在预期范围、资源请求和加载是否高效等。 通过对以上测试目标的测试可以确保CSDN的Web页面在功能和性能方面的稳定和优化提供良好的用户体验和可靠的技术内容。同时测试也有助于发现和解决潜在的问题和改进空间提高网站的质量和可靠性。 2. 测试用例设计
用例ID用例等级用例标题前置条件操作步骤预期结果test_CSDNPageLoadL1页面加载无1. 打开网页页面成功加载无错误提示2. 检查页面是否成功加载test_UserLoginTestL2登录打开网页1. 打开网页成功跳转到用户个人主页显示用户相关信息2. 点击页面顶部的“登录”链接3. 手机扫码登录4. 再次点击登录按钮成功登录后变成用户的头像5. 检查是否成功跳转到用户个人主页test_CSDNNavigationL3点击页面顶部导航链接跳转打开网页1. 打开网页成功跳转到对应的页面2. 点击页面顶部导航栏中的每个链接例如博客、下载、学习等3. 检查是否成功跳转到对应的页面test_CSDNSearchL3搜索打开网页1. 打开网页搜索结果页面正确显示包含关键词 “自动化测试” 的搜索结果2. 在搜索框中输入关键词 “自动化测试”3. 点击搜索按钮4. 检查搜索结果页面是否正确显示搜索关键词test_CSDNArticleViewL3点击页面的文章的链接跳转打开网页1. 打开网页成功跳转到对应的页面2. 点击页面的第一个文章的链接3. 检查是否成功跳转到对应的页面test_CSDNPageLoadPerformanceL2页面加载性能打开网页1. 打开网页记录开始时间页面加载时间在合理范围内例如小于10秒2. 等待页面加载完成3. 记录结束时间4. 检查页面加载时间是否在合理范围内
3. 测试框架介绍 图1项目框架 难易程度 该框架相对来说有一定的复杂性因为使用了多个不同的工具和库包括但不限于
expected_conditions用于定义不同的预期条件例如等待元素可见、等待元素存在等配合WebDriverWait使用。WebDriverWait提供了等待机制用于等待页面元素的出现或特定条件的满足以增加测试的稳定性和可靠性。By用于指定元素的定位方式例如通过ID、XPath、CSS选择器等来定位页面元素。time提供了与时间相关的功能例如等待指定时间间隔、延时执行等用于控制测试执行过程中的时间。unittestPython的标准单元测试框架用于编写和执行测试用例并提供了断言方法和测试报告生成等功能。pytest一种Python的第三方测试框架提供了更丰富的测试功能和灵活的测试用例组织方式例如参数化测试、测试夹具等。CSDNActions自定义的页面操作类封装了与CSDN网站交互的动作方法例如打开网页、点击按钮、切换窗口等。CSDNElements自定义的页面元素类封装了与CSDN网站相关的元素定位信息例如按钮、链接、输入框等。 这些工具、库和自定义类的使用使得测试框架具备了更丰富的功能和更高的封装程度能够进行元素定位、等待条件满足、执行页面操作、编写和执行测试用例等操作提供了丰富的功能和灵活性使得测试框架具备了较强的扩展能力和适应性。同时框架中还涉及到一些如条件等待、参数化测试等知识。
封装程度
PageObject包其中的csdn_actions.py和csdn_elements.py文件提供了对CSDN网站的页面操作和元素定位的封装。通过封装页面操作和元素定位可以在测试用例中使用简洁的代码来执行复杂的页面操作提高了代码的可读性和可维护性。Scenario包其中包含了多个场景文件如SearchScenario.py、PageLoadScenario.py等每个场景文件对应于一类测试场景封装了执行该类测试场景所需的操作和断言。通过将测试场景进行封装可以更好地组织和管理测试用例提高代码的可复用性。TestCase包其中包含了多个测试用例文件如test_CSDNArticleView.py、test_CSDNNavigation.py等每个测试用例文件对应于一个具体的测试案例。通过编写测试用例文件可以实现对不同功能和场景的测试覆盖同时利用框架提供的断言方法进行结果验证。
4. 具体的自动化测试脚本
PageObject包 封装页面操作csdn_actions.py 定义了一个基础页面类BasePage和 CSDN 页面操作类CSDNActions通过封装常用的页面操作方法和等待条件提供了便于编写自动化测试的接口和功能。 BasePage类作为所有页面类的基类初始化时接受一个驱动对象用于与浏览器进行交互。 CSDNActions类继承自BasePage类封装了对CSDN网页的各种操作方法例如打开 CSDN 首页、点击登录按钮、点击博客链接、输入搜索关键字、点击搜索按钮等。 其中使用了WebDriverWait 类和expected_conditions 模块用于等待页面元素的出现或特定条件的满足以增加测试的稳定性和可靠性。 通过这些封装的方法可以在测试用例中以简洁的方式执行各种页面操作并且提供了一些辅助方法如等待页面标题、等待元素文本、测量页面加载时间等。 图2封装页面操作csdn_actions.py代码 封装元素定位csdn_elements.py 定义了一个CSDNElements类用于存储CSDN页面中各个元素的定位方式和表达式。 这样的设计可以使代码更加模块化和可维护当页面元素发生变化时只需修改CSDNElements类中对应元素的定位方式和表达式而不需要修改具体的页面操作方法。 图3封装元素定位csdn_elements.py代码 Scenario包 每个场景封装成一个类使测试脚本更加模块化和可读性高方便扩展和维护。 页面加载的场景脚本PageLoadScenario.py 将页面加载的场景封装成一个类通过调用方法来执行场景并返回结果。 图4页面加载的场景脚本PageLoadScenario.py代码 用户登录的场景脚本LoginScenario.py 将用户登录的场景封装成一个类通过调用方法来执行场景并返回结果。 图5用户登录的场景脚本LoginScenario.py代码 页面导航链接跳转的场景脚本NavigationScenario.py 将页面导航链接跳转的场景封装成一个类通过调用方法来执行场景并返回结果。
图6页面导航链接跳转的场景脚本NavigationScenario.py代码 正确显示搜索关键词页面的场景脚本SearchScenario.py 将搜索关键词页面正确显示的场景封装成一个类通过调用方法来执行场景并返回结果。 图7正确显示搜索关键词页面的场景脚本SearchScenario.py代码 跳转到页面第一个文章页面的场景脚本ArticleViewScenario.py 将跳转到页面第一个文章页面的场景封装成一个类通过调用方法来执行场景并返回结果。
图8跳转到对应页面的场景脚本ArticleViewScenario.py代码 页面加载时间测试的场景脚本PageLoadPerformanceScenario.py 通过封装页面加载时间是否在合理范围内的场景到一个类中可以方便地进行性能测试并根据加载时间的结果判断页面加载性能是否符合预期。 图9页面加载时间测试的场景脚本PageLoadPerformanceScenario.py代码 TestCase包 通过编写测试类和测试方法可以对测试用例进行自动化测试并使用 pytest执行测试生成测试报告方便查看测试结果和问题定位。 CSDN页面加载测试test_CSDNPageLoad.py 图10CSDN页面加载测试test_CSDNPageLoad.py代码 CSDN用户登录测试test_CSDNUserLogin.py 图11CSDN用户登录测试test_CSDNUserLogin.py代码 点击页面顶部导航链接跳转test_CSDNNavigation.py 图12点击页面顶部导航链接跳转test_CSDNNavigation.py代码 搜索测试test_CSDNSearch.py 图13搜索测试test_CSDNSearch.py代码 点击页面的文章的链接跳转测试test_CSDNArticleView.py 图14点击页面的文章的链接跳转测试test_CSDNArticleView.py代码 页面加载性能测试test_CSDNPageLoadPerformance.py 图15页面加载性能测试test_CSDNPageLoadPerformance.py代码 5. 测试结果以及测试报告 使用pytest对TestCase包的所有测试用例进行自动化测试生成测试报告将测试结果生成为 HTML 格式的报告方便查看测试结果和问题定位。 图16所有测试都成功生成测试报告 页面加载测试报告 图17页面加载测试报告 图18页面加载 登录测试报告 图19登录测试报告 点击页面顶部导航链接跳转报告 图20点击页面顶部导航链接跳转报告 图21登录成功 搜索测试报告 图22搜索测试报告 图23搜索自动化测试 点击页面的文章的链接跳转测试报告 图24点击页面的文章的链接跳转测试报告 图25页面第一个文章为“为什么说 AI 将拯救整个世界” 图26成功打开第一个文章 页面加载性能测试报告 图27页面加载性能测试报告 6. 总结 CSDN作为中国最大的IT社区和知识分享平台承载着大量的技术内容和用户交流。为了确保CSDN网站的质量和稳定性本次实验旨在对其Web页面进行功能和性能测试。通过编写测试用例验证CSDN首页页面加载、登录功能、导航链接、搜索功能、文章链接跳转和页面加载性能等方面的表现。 本次实战设计了六个测试用例分别对应不同的功能和性能要求包括验证CSDN首页页面是否成功加载、验证登录功能是否正常、验证页面顶部导航链接是否正常跳转、验证搜索功能是否正常、验证页面的文章链接是否正常跳转、验证页面加载性能是否在合理范围内。 执行测试用例使用了Selenium和pytest进行自动化测试并使用了Page Object模式进行页面对象的封装以及使用了Scenario和TestCase进行测试场景和测试用例的划分。 PageObject包封装了与CSDN网站交互的动作和元素定位相关的方法和类。这种封装使得测试用例能够通过调用这些方法来执行相应的操作从而使测试代码更加简洁和可维护。 Scenario包中包含了不同的测试场景通过调用PageObject包中的方法来执行相应的操作。 TestCase包中包含了具体的测试用例文件每个文件对应一个具体的测试场景使用pytest框架执行测试并生成测试报告。在每个测试用例中使用断言来判断预期结果和实际结果是否一致从而验证功能和性能是否符合要求。 总的来说将页面对象、测试场景和测试用例进行了分离和封装使得测试代码结构清晰、可读性好并提供了易于维护和扩展的能力。通过这个完整的自动化测试框架和测试用例的编写我们可以测试CSDN的Web页面确保各项功能和性能的正常工作提高测试效率和准确性。 通过执行测试用例得到了相应的测试结果和日志。根据测试报告和日志的分析可以得出以下结论CSDN首页页面成功加载各个元素和数据正常显示登录功能正常账号密码验证和页面跳转均符合预期页面顶部导航链接正常跳转页面内容正确切换到对应板块搜索功能正常搜索结果准确搜索框响应及时页面的文章链接正常跳转文章页面内容正确显示页面加载性能在合理范围内页面打开时间和资源加载高效。根据测试结果CSDN的Web页面在功能和性能方面表现稳定可靠提供了良好的用户体验和可靠的技术内容。同时测试也发现了一些潜在的问题和改进空间如页面加载速度可以进一步优化、搜索功能的搜索结果排序等。 7. 分录
源码下载自动化测试-CSDN的Web页面进行功能和性能测试