51Testing软件测试论坛

标题: App UI自动化Case规范 [打印本页]

作者: 测试积点老人    时间: 2019-1-2 15:29
标题: App UI自动化Case规范
本帖最后由 测试积点老人 于 2019-1-2 15:30 编辑

UI自动化case编写规范:
1、配置文件、基础函数和case文件分离保存
2、按业务特点,分功能模块或入口展示页面,划分case结构
3、case 级别设置
4、基础函数封装命名
5、基础函数封装注释
6、变量命名遵守驼峰命名法
7、增加case说明

具体为:
1、配置文件、基础函数和case文件分离保存
如用户端:
IWM_User为各页面入口的case综合(登录、首页tab、吃啥tab、订单tab、我的tab、召回地址)
OrderList为订单相关case
ShoppingCart为shopmenu页面相关case

2、按业务特点,分功能模块或入口展示页面,划分case结构,并数字化命名
如用户端,分为登录、首页tab、吃啥tab、订单tab、我的tab、召回地址、订单模块、购物车模块
各模块各举一例命名方式:

test_0***_login                                   //登录模块
test_1001_ShopSearch                    //首页tab     
test_2001_EatWhat_OftenEat           //吃啥tab
test_3001_OrdersList_Breakfirst         //订单tab
test_4001_Coupon_All                        //我的tab
test_5001_RecallAddress_Switch         //召回地址模块
test_6101_ShopMenu_Introduction       //购物车模块


中间数字意思代表:
第一位数:代表模块
第二位数:代表子模块,以此类推

以用户端订单模块为例:第一位数3代表订单模块;第二位数0代表订单列表,1代表提单页,2代表订单支付;后两位依次取值。

好处:清晰case所属模块、同一模块case可以相继运行

3、case级别设置
checklist  :冒烟case
P0              :与功能case一致
P1              :与功能case一致
P2              :与功能case一致

4、基础函数封装命名
主要有:等待类、获取类、判断类、断言类、点击类、滑动类、路径类等,名字要能体现函数功能

以WaitFor开头命名函数,用户端命名为:
WaitForLoadingBearDisappear()
WaitForStringHide(String)
WaitForStringShow(String...)
WaitForStringShowAndClick(String...)
WaitForStringShowAndClick_Scroll(String)
WaitForStringShowAndClick_Scroll(String, Boolean)
WaitForStringShowAndClick_Scroll_UP(String)
WaitForStringShowInWebView(String...)
WaitForStringShowScroll(String)
WaitForStringShowScroll(String, Boolean)
WaitForStringShowScroll_UP(String)
WaitForViewHide(String)
WaitForViewShow(String)
WaitForViewShowAndClick(String)
WaitForViewShowAndClick_Scroll(String)
WaitForViewShowAndClick_Scroll(String, Boolean)
WaitForViewShowAndClick_Scroll_UP(String)
WaitForViewShowScroll(String)
WaitForViewShowScroll(String, Boolean)
WaitForViewShowScroll_UP(String)

以Check开头的命名函数,用户端命名为:
Check_OneMoreOrder()
Check_OrderList_Conditions_Satisfied(String, Boolean, Boolean, String)
Check_OrderList_Conditions_Satisfied(String, Boolean, String)
Check_OrderList_Conditions_Satisfied(String, Boolean, String, String)
Check_OrderList_Conditions_Satisfied(String, String, Boolean)
Check_OrderList_Conditions_Satisfied(String, String, String, Boolean)
Check_Pattern_Matcher(String, String)
Check_ShopCart()
Check_ShopCart_button()
Check_ShopStatus(String)
Check_ShopStatus(String, String)
CheckDialogIsShow()
CheckDialogIsShow(int)
CheckDialogIsShow(int, String)
CheckStringIsShow(String...)
CheckStringIsShowInWebView(String...)
CheckTextById(String, String)
CheckTextByXpath(String, String)
CheckTextEqual(String, String)
CheckTitleBar(String)
CheckViewIsShow(String)
CheckViewIsShowByClassName(String)

以Scroll开头的命名函数,用户端命名为:
scroll(int)
Scroll(Double, Double)
Scroll(Double, Double, int)
Scroll_X(Double, Double)
ScrollPage_Down(int)
ScrollPage_Up(int)
ScrollTextToMiddle(String, int)
ScrollToViewTop(String, String, int)
ScrollView_X(String, double, double, int)
ScrollView_Y(String, double, double, int)
ScrollViewAndClick_Y(String, String, double, double, int)
ScrollViewToMiddle(String, int)

以Assert开头的命名函数,用户端命名为:
Assert_MobileNumber(String)
Assert_Pattern_Matcher(String, String)
AssertThat_DialogIsShow()
AssertThat_DialogIsShow(int)
AssertThat_DialogIsShow(int, String)
AssertThat_TextById(String, String)
AssertThat_TextByXpath(String, String)
AssertThat_TextEqual(String, String)
AssertThat_TextNotEqual(String, String)
AssertThat_TextNotNuLL(String)
AssertThat_TextNotNull_ById(String)

以ClickOn开头的命名函数,用户端命名为:
ClickOnText(String...)
ClickOnText_JinGang(String)
ClickOnTextInWebView(String...)
ClickOnView(String)
ClickOnView(String, int)
ClickOnViewXpath(String)
ClickOnViewXpath(String, int)

以Get开头的命名函数,用户端命名为:
GetCaseName()
GetCurrentPageSourseToSave(String)
GetElementById(String)
GetElementByText(String)
GetElementByXpath(String)
GetElementsById(String)
GetElementsByText(String)
GetElementsByXpath(String)
GetStringByid(String)
GetStringByXpath(String)
GetTotalPrice(String)

以Go开头的命名函数,用户端命名为:
GoBack()
GoBack(int)
GoBack(String)
GoBack_Physical()
GoBack_Physical(int)
GoBackToStrShow(String)
Gotocate(int)
Gotocate(int, Boolean)
Gotocate(int, String)
Gotocate(int, String, Boolean)

5、基础函数封装注释
函数前以/**  String **/的格式增加注释,以后鼠标移至此函数,就能显示注释,方便理解函数功能

6、函数命名遵守驼峰命名法
小驼峰法
变量一般用小驼峰法标识。驼峰法的意思是:除第一个单词之外,其他单词首字母大写。譬如
int myStudentCount;
变量myStudentCount第一个单词是全部小写,后面的单词首字母大写。

大驼峰法
相比小驼峰法,大驼峰法(即帕斯卡命名法)把第一个单词的首字母也大写了。常用于类名,函数名,属性,命名空间。譬如
public class DataBaseUser;
7、case说明
在每条case前,增加必要的case说明。例如:
/**
* @name 0003_loginOut_NewUser
* @Catalogue 未登录
* @Subcatalog 新人专区
* @Grade P2
* @Describe 未登录
* @FunctionPoint 未登录时,首页有新人专区;登录非新账号时,新人专区消失
*/


作者: Miss_love    时间: 2021-1-5 14:47
支持分享




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2