--- pluginList: [] #- "com.testerhome.appcrawler.plugin.FlowDiff" #- "com.testerhome.appcrawler.plugin.ProxyPlugin" logLevel: "TRACE" saveScreen: true showCancel: true reportTitle: AppCrawler AQUMON screenshotTimeout: 20 tagLimitMax: 2 currentDriver: "android" maxTime: 10800 resultDir: "" capability: newCommandTimeout: 120 launchTimeout: 120000 platformVersion: "" platformName: "" autoWebview: "false" autoLaunch: "true" dontStopAppOnReset: "true" noReset: "false" deviceName: "Huawei P10" appPackage: "com.aqumon.www" appActivity: "com.aqumon.www.ui.splash.SplashActivity" app: "C:/Users/aqumon/Downloads/Aqumon_3.6.20(10276)_2021_09_03_[dev]_debug.apk" appium: "http://127.0.0.1:4723/wd/hub" fullReset: "false" automationName: uiautomator2 #iosCapability: # deviceName: "iPhone 7 Plus" # bundleId: "com.xueqiu" # screenshotWaitTimeout: "10" # platformVersion: "10.2" # autoAcceptAlerts: "true" # automationName: xcuitest # launchTimeout # app: "/Users/seveniruby/Library/Developer/Xcode/DerivedData/Snowball-ckpjegabufjxgxfeqyxgkmjuwmct/Build/Products/Debug-iphonesimulator/Snowball.app" # appium: "http://127.0.0.1:4723/wd/hub" defineUrl: - "//*[@selected='true']/@text" - "//*[@selected='true']/@text" - "//*[contains(name(), 'NavigationBar')]/@label" baseUrl: - ".*MainActivity" - ".*SNBHomeView.*" maxDepth: 6 headFirst: true enterWebView: true urlBlackList: #- ".*重置密码.*" urlWhiteList: #- ".*Main.*" backButton: #- //*[@resource-id='action_back'] - { xpath: "//*[contains(@resource-id,'com.aqumon.www:id/tv_title_left')]", action: "click" } #- "//*[contains(name(), 'Button') and @name='取消']" firstList: [] #- "//*[contains(name(), 'Popover')]//*" #- "//*[contains(name(), 'Window')][3]//*" selectedList: - { xpath: "//*[@clickable='true']", action: "click" } #android非空标签 #- //*[@clickable="true"]//android.widget.TextView[string-length(@text)>0 and string-length(@text)<20] #- //android.widget.EditText ##ios #- //*[contains(name(), 'Text') and string-length(@value)>0 and string-length(@value)<20 ] ##通用的button和image #- //*[contains(name(), 'Button')] #- //*[contains(name(), 'Image')] #todo:如果多个规则都包含相同控件, 如何排序 #处于选中状态的同级控件最后点击 lastList: [] #- //*[contains(@resource-id, 'indicator')]//* ##股票 组合 #- //*[../*[@selected='true']] ##港股 美股 #- //*[../../*/*[@selected='true'] and @resource-id=''] ##tab标签 #- //*[../../*/*[@selected='true'] and contains(@resource-id, 'tab_')] ##ios 沪深 港股等栏目 #- //*[../*[@value='1']] ##ios 底层tab栏 #- //*[contains(name(), 'Button') and ../*[contains(name(), 'Button') and @value='1']] ##tab低栏 #- //*[contains(@resource-id,'tabs')]//* blackList: #排除掉ios的状态栏 #- "//*[contains(name(), 'StatusBar')]//*" #股票分组编辑. 同一个imageview有2个图代表不同的状态. 没法区分, 只能设置为黑名单 #- "//*[@resource-id='com.xueqiu.android:id/edit_group']" - xpath: ".*Safari" - xpath: ".*电话.*" - xpath: ".*开户.*" - xpath: ".*注册.*" triggerActions: - xpath: "//*[@resource-id='com.aqumon.www:id/btn_agree']" action: "click" times: 1 - xpath: "//*[@resource-id='com.aqumon.www:id/tv_guide_skip']" action: "click" times: 1 - xpath: "//*[@resource-id='com.android.permissioncontroller:id/permission_allow_button']" action: "click" times: 1 - xpath: "//*[@resource-id='com.aqumon.www:id/btn_dialog_confirm']" action: "click" times: 1 - xpath: "//*[contains(@text, 开启指纹)]/[@resource-id='com.aqumon.www:id/btn_custom_dialog_cancel]" action: "click" times: 1 #- xpath: "//*[contains(@resource-id, 'iv_close')]" - xpath: "//*[@resource-id='com.aqumon.www:id/tv_user_login']" action: "click" times: 1 - xpath: "//*[@resource-id='com.aqumon.www:id/et_username']" action: "18627525005" times: 1 - xpath: "//*[@resource-id='com.aqumon.www:id/et_password']" action: "Test1234" times: 1 #- xpath: "button_next" # times: 1 #- action: "15600534760" # xpath: "//*[contains(name(), 'StaticText') and contains(@name, '登录')]" # times: 1 #- action: "15600534760" # xpath: "//*[contains(name(), 'TextField') and contains(@value, '手机')]" # times: 1 #- action: "hys2xueqiu" # xpath: "//*[contains(name(), 'SecureTextField')]" # times: 1 #- xpath: "//*[contains(name(), 'Button') and contains(@name, '登 录')]" # times: 1 #- xpath: ".*立即登录" # times: 2 #- xpath: "//*[@name='登 录']" # times: 2 #- xpath: "//*[@name='登录']" # times: 2 #- action: "scroll left" # xpath: "专题" # times: 1 #- xpath: "点此.*" #- xpath: "^放弃$" #- xpath: "不保存" #- xpath: "^确定$" #- xpath: "^关闭$" #- xpath: "^取消$" #- xpath: "稍后再说" #- xpath: "Cancel" #- xpath: "这里可以.*" #- xpath: ".*搬到这里.*" #- xpath: "我要退出" #- xpath: "tip_click_position" #- xpath: "common guide icon ok" #- xpath: "icon quotationinformation day" # times: 1 #- xpath: "icon stock close" #- xpath: "隐藏键盘" #一个神奇的符号 #- xpath: //*[@label='✕' and visible='true'] # times: 10 #- action: 123 # xpath: //*[contains(name(), "EditText")] # times: 10 # pri: 0 #- xpath: 我知道了 tagLimit: [] #- xpath: //*[../*[@selected='true']] # count: 12 #- xpath: //*[../../*/*[@selected='true']] # count: 12 testcase: # name: "demo" # steps: # - given: [] # when: null # then: [] # xpath: "/*" # action: "Thread.sleep(1)" # actions: [] # times: 0 #testcase: # name: demo1 # steps: # - when: # xpath: //* # action: driver.swipe(0.8, 0.8, 0.2, 0.2) # then: ["//*[@resource-id!='']"] # - when: { xpath: //*, action: driver.swipe(0.5, 0.2, 0.5, 0.8) } # - { xpath: 自选, action: click, then: [ "//*[contains(@text, '港股')]" ] } # - { xpath: 沪深, action: click, then: [ "//*[contains(@text, '中国平安')]" ] }