def scroll_to_right(): """ scroll to right :return: """ solo = get_var("solo") solo.scroll_to_right()
def scroll_to_left(): """ scroll to left :return: """ solo = get_var("solo") solo.scroll_to_left()
def finish_app(): """ finish app :return: """ solo = get_var("solo") solo.finish_opened_activities()
def scroll_channel_left(): """ 向左滑动顶部频道 :return: """ solo = get_var("solo") top_channel_view = solo.get_view("com.ifeng.newvideo:id/top_slide_tab_main") solo.scroll_view_to_left(top_channel_view)
def login(account, pwd): solo = get_var("solo") et_account_view = solo.get_view(login_et_account_id) et_pwd_view = solo.get_view(login_et_pwd_id) solo.clear_edit_text(et_account_view) solo.enter_text(et_account_view, account) solo.enter_text(et_pwd_view, pwd) login_btn = solo.get_view(login_btn_id) solo.click_on_view(login_btn)
def test_first_method(): """ keyword doc: print hello """ print('hello, world') get_view('1') solo = get_var('solo') solo.get_text('hello')
def login_et(account, pwd): solo = get_var("solo") et_account_view = solo.get_view(login_et_account_id) et_pwd_view = solo.get_view(login_et_pwd_id) solo.clear_edit_text(et_account_view) solo.enter_text(et_account_view, account) solo.enter_text(et_pwd_view, pwd) login_btn = solo.get_view(login_btn_id) solo.click_on_view(login_btn)
def check_video_state(state): """ 功能 检查播放器状态 :param state: "playing"、"pause" :return: """ solo = get_var("solo") video_skin = solo.get_view("com.ifeng.newvideo:id/video_skin") description = call(video_skin, "getContentDescription") assert description == state, "视频状态非{}".format(state)
def switch_tab(tab_name): """ 切换栏目 :param tab_name:"首页"、"直播"、""订阅、"我的" :return: """ solo = get_var("solo") tab_view = get_view("android:id/tabs") view = call(tab_view, "getChildTabViewAt", tab_view_pos[tab_name]) solo.click_on_view(view)
def play_pic_channel_video(index): """ 播放大图频道的第n个视频 :param index:第n个视频 :return: """ solo = get_var("solo") solo.sleep(3000) view = solo.get_view( res_id="com.ifeng.newvideo:id/iv_channel_big_pic_play_status", index=int(index)) solo.click_on_view(view)
def check_current_page(page_name): """ 功能:判断当前是否为某页 :param player_type:"自媒体" 、"登录"、"点播底页" :return: """ solo = get_var("solo") expect_page = page_name_ui_controller[page_name] # solo.sleep(3000) current_activity = solo.get_current_activity() result = expect_page == current_activity.class_name assert result, "非{}页面".format(page_name)
def get_current_progress(index=0): """ 功能:获取s播放器播放进度 :param index:"0" :return: """ seekbar_id = "com.ifeng.newvideo:id/control_seekBar" solo = get_var("solo") view = solo.get_view(res_id=seekbar_id, index=index) mSeekBarView = get_field(view, "mSeekBarView") progress = call(mSeekBarView, "getProgress") return progress
def scroll_click_into_main(): """ 滑动欢迎页,点击立即体验进入首页 :return: """ solo = get_var("solo") import time time.sleep(2) i = 0 for i in range(3): solo.scroll_to_right() # TODO click activity solo.click_on_screen(510, 1590)
def scroll_into_main(): """ 滑动欢迎页 进入首页 :return: """ # 滑动四个欢迎页 import time time.sleep(2) solo = get_var("solo") i = 0 for i in range(4): solo.scroll_to_right()
def logout(): solo = get_var("solo") solo.sleep(1000) switch_tab("我的") view = solo.get_view(login_name) text = call(view, "getText") if text == "登录": pass else: solo.click_on_view(view) solo.sleep(1000) login_out_view = solo.get_view(login_out_id) solo.click_on_view(login_out_view) solo.sleep(1000) solo.click_on_text("确定")
def exit_login(): solo = get_var("solo") solo.sleep(1000) switch_tab("我的") view = solo.get_view(login_name) text = call(view, "getText") if text == "登录": pass else: solo.click_on_view(view) solo.sleep(1000) login_out_view = solo.get_view(login_out_id) solo.click_on_view(login_out_view) solo.sleep(1000) solo.click_on_text("确定")
def get_text_from_parent(view, text, index=0): """ 获取父级view下的指定文本,返回TextView 用法示例: get_text_from_parent parent_view text 1 注:index不输入时,默认为0 :param view: :param text: :param index: :return: """ solo = get_var("solo") view = solo.get_text_from_parent(view, text, index) return view
def assert_exist_text(): solo = get_var("solo") # current_activity = solo.get_current_activity() # solo call(solo, "setActivityOrientation", SCREEN_ORIENTATION_LANDSCAPE)
def wait_for_text(class_name): solo = get_var("solo") return solo.wait_for_view(class_name)
def assert_exist_text(text): solo = get_var("solo") exist = solo.wait_for_text(text) if not exist: raise AssertionError('%s is not exist' % text)
def get_soft_input_state(edit_text_view): solo = get_var("solo") context = call(edit_text_view, "getContext") input_manager = call(context, "getSystemService", "input_method") return call(input_manager, "isActive")
def click_id(view_id, index=0): solo = get_var("solo") # solo.sleep(3000) view = get_view(view_id, index) click_view(view)
def click_pic_channel_comment(index="0"): solo = get_var("solo") solo.sleep(3000) view = solo.get_view(res_id=pic_channel_comment_id, index=int(index)) solo.click_on_view(view)
def drag_progress_bar(view, start_x, end_x, step_count): solo = get_var("solo") solo.drag_in_view(view, start_x, 50, end_x, 50, step_count)
def check_pic_channel_comment_count(index, expect_text=""): solo = get_var("solo") solo.sleep(3000) view = solo.get_view(res_id=pic_channel_comment_id, index=int(index)) result_text = call(view, "getText") assert result_text == expect_text, "评论展示不一致"
def clear_edit_text(view): solo = get_var("solo") solo.clear_edit_text(view)
def set_edit_text(view, text): solo = get_var("solo") solo.enter_text(view, text)
def click_long_on_view(): solo = get_var("solo") solo.go_back()
def click_long_on_view(view): solo = get_var("solo") solo.click_long_on_view(view)
def sleep(milliseconds): solo = get_var("solo") solo.sleep(milliseconds)
def assert_exist_text(): solo = get_var("solo") current_activity = solo.get_current_activity() call(current_activity, "setRequestedOrientation", SCREEN_ORIENTATION_PORTRAIT)
def get_text(view_id, index=0): solo = get_var("solo") view = solo.get_view(res_id=view_id, index=index) return call(view, "getText")