自动化测试-知乎关注功能用例

本文介绍了一种使用Appium和Java实现的自动化测试方法,针对知乎App中的关注功能进行测试。该方法通过模拟用户行为来验证关注流程是否正常,包括关注用户、检查关注状态等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.casedesign;
import java.util.List;
import java.util.NoSuchElementException;
import org.openqa.selenium.By;
import sun.reflect.generics.tree.Tree;
import io.appium.java_client.MobileBy;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;

public class GuanZhu {
	public AndroidDriver<AndroidElement> driver;

	public GuanZhu(AndroidDriver<AndroidElement> driver) {
		this.driver = driver;
	}
	public void gz() throws Exception {
		List<AndroidElement> title = driver.findElements(By
				.id("com.zhihu.android:id/title"));
		System.out.println("jff");
		String titleName=null;
		for (AndroidElement arr : title) {
			titleName = arr.getText();
			arr.click();
			Thread.sleep(1000);
			try {
				if(!driver.getPageSource().contains("已关注")){
					//如果没有关注过,就点关注
					driver.findElement(MobileBy.AndroidUIAutomator("new UiSelector().text(\"关注\")")).click();
					System.out.println(titleName);
					//写回答
					if(driver.getPageSource().contains("写回答")){
						driver.findElement(MobileBy.AndroidUIAutomator("new UiSelector().text(\"写回答\")")).click();
						//关闭写回答
						driver.findElement(By.className("android.widget.ImageButton")).click();
						//点菜单
						driver.findElements(By.className("android.support.v7.app.a$c")).get(4).click();
					}
					break;
				}else {
					//如果已经关注了就返回,找下一条
					driver.findElementByClassName("android.widget.ImageButton").click();
					continue;
				}
			} catch (NoSuchElementException e) {
				System.out.println("没有找到元素");
			}
		}
		//进入我得关注,查找刚才关注的和里面的进行对比,如果有则关注成功
		driver.findElement(MobileBy.AndroidUIAutomator("new UiSelector().text(\"我的关注\")")).click();
		List<AndroidElement> title_gz = driver.findElements(By.id("com.zhihu.android:id/title"));
		for(AndroidElement exp:title_gz){
			String title_gz_name=exp.getText();
			if(title_gz_name.equals(titleName)){
				System.out.println(title_gz_name);
				System.out.println("两个关注相同,检查通过");
			}else {
				System.out.println("检查不相同,检查失败");
			}		
			break;
		}
	}
}



                
<think>好的,用户想要查找功能测试用例的模板,包括示或者下载渠道。我需要先回顾一下提供的引用内容,看看里面有哪些相关信息。引用1、4、5提到了功能测试用例的模板结构,比如测试目标、需求标识、预置条件、输入数据、测试步骤、预期结果、通过标准等。引用3和2则更多涉及接口测试用例,但部分结构可能类似。用户可能需要一个具体的模板示,所以最好整理出一个典型的模板结构,并给出各部分说明。同时,用户可能还想道哪里可以下载这样的模板,需要推荐一些资源,比如测试管理工具(如TestRail、JIRA)、文档平台(如GitHub、优快云)或者测试书籍。要注意使用中文回答,结构清晰,分点说明,避免使用Markdown格式。需要确保信息准确,引用正确的来源,比如引用1、4的模板内容。另外,用户可能没有提到但相关的信息,比如模板的灵活调整和工具推荐,也应该包含进去,以提供更全面的帮助。最后,检查是否符合用户的所有要求,比如是否包含示、下载渠道,是否参考了提供的引用内容。确保回答自然,引用标识正确添加在相关内容末尾,如在提到测试用例组成部分时引用[^1][^4]。</think>功能测试用例模板通常包含以下核心组成部分,根据实际项目需求可进行调整[^1][^4]: **一、基础模板示** 1. **用编号** - 格式:产品名称+case+数字编号(如:taobao_case_001)[^4] 2. **测试目标** - 明确测试功能点(如:验证用户登录功能) 3. **需求标识** - 关联需求文档中的需求编号(如:Req-2023-LOGIN) 4. **预置条件** - 环境要求:操作系统、浏览器版本、网络配置等 - 数据准备:测试账号、初始数据状态(如:test_user/password123)[^1] 5. **输入数据** - 具体测试输入值(如:用户名=空,密码=123456) 6. **测试步骤** ```markdown 1. 打开登录页面 2. 输入用户名 3. 输入密码 4. 点击"登录"按钮 ``` 7. **预期结果** - 明确功能响应(如:弹出"用户名不能为空"提示框) 8. **通过标准** - 判定条件(如:实际结果与预期完全一致) 9. **优先级** - 标注P0/P1/P2(紧急程度分级) **二、扩展字段(复杂场景适用)** - 实际结果记录 - 测试执行日期 - 缺陷关联编号 - 自动化脚本标识 **三、模板获取渠道** 1. **测试管理工具内置模板** - TestRail、JIRA、禅道等工具提供标准化模板[^2] 2. **文档共享平台** - GitHub搜索关键词`test-case-template` - 国内平台如优快云、乎等示文档 3. **行业标准参考** - ISTQB测试文档规范 - 《软件测试艺术》等专业书籍附录模板 **四、注意事项** 1. 需根据业务特性调整字段,如金融系统需增加安全性验证项[^3] 2. 异常测试需覆盖:空值输入、非法字符、超长数据等边界情况[^5] 3. 建议配合测试用例管理工具实现版本追踪[^2]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值