def upload_homework(self,filepath): self.click_element(WebClassPageLoc.add_button, "提交作业页面,点击添加作业文件:") time.sleep(3) BasePage.upload(filepath) self.wait_ele_visible(WebClassPageLoc.succ, "提交作业页面,等待已上传元素可见:") self.wait_ele_visible(WebClassPageLoc.update_button2, "提交作业页面,等待更新提交元素可见:") self.click_element(WebClassPageLoc.update_button2, "提交作业页面,点击更新提交元素:")
def setup_class(cls): desired_caps = {} desired_caps["automationName"] = "UIAutomator2" # 平台类型 desired_caps["platformName"] = "Android" # 平台版本 desired_caps["platformVersion"] = "5.1" # 设备名称 desired_caps["deviceName"] = "Android Emulator" # app包名 desired_caps["appPackage"] = "com.nowcoder.app.florida" # app入口activity desired_caps[ "appActivity"] = "com.nowcoder.app.florida.activity.home.SplashActivity" # app是否重置再打开 desired_caps["noReset"] = "true" # 连接appium server。 前提:appium desktop要启动,有监听端口 # 要将我们的服务器参数发送过去 cls.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) cls.lp = LoginPage(cls.driver) cls.wp = WelcomPage(cls.driver) cls.pp = ProfilePage(cls.driver) cls.sp = SettingPage(cls.driver) cls.mp = MainPage(cls.driver) cls.bp = BasePage(cls.driver) # 欢迎页面,选择登录 cls.wp.login_register() # 选择密码登录方式 cls.lp.select_login()
def test_invest_2_failed_no(self): bp = BidPage(self.driver) bp.invest(0) time.sleep(1) expected = '请正确填写投标金额' BasePage(self.driver).wait_eleVisible(BidPageLocator.invest_failed_popup) actual = self.driver.find_element(*BidPageLocator.invest_failed_popup).text self.assertEqual(expected, actual)
def test_invest_1_failed_invalid_data(self): # IndexPage(self.driver).click_firstBid() bp = BidPage(self.driver) bp.invest(-100) time.sleep(1) expected = '请正确填写投标金额' BasePage(self.driver).wait_eleVisible(BidPageLocator.invest_failed_popup) actual = self.driver.find_element_by_xpath('//div[@class="text-center"]').text self.assertEqual(expected, actual)
def test_invest_0_failed_no100(self): IndexPage(self.driver).click_firstBid() bp = BidPage(self.driver) bp.invest(150) time.sleep(1) expected = '投标金额必须为100的倍数' # actual = BasePage(self.driver).get_element_attribute(BidPageLocator.invest_failed_popup1, "text-center", "投资_非100倍数") BasePage(self.driver).wait_eleVisible(BidPageLocator.invest_failed_popup) actual = self.driver.find_element_by_xpath('//div[@class="text-center"]').text self.assertEqual(expected, actual)
def do_welcome(self): time.sleep(7 ) # 如果没有找到首页的元素或者不包含main_activity,那么就是在欢迎页面 curAcr = self.driver.current_activity if curAcr.find("MainActivity") == -1: # 滑动欢迎页面至首页 # 左滑三次,点击立即体检 for i in range(3): self.swipe_left(self.get_size()) time.sleep(1) # 点击立即体检 BasePage(self.driver).click_element(loc.experience)
def test_gesture_password(self, common_driver): """绘制手势密码""" driver = common_driver base = BasePage(driver) time.sleep(3) driver.start_activity( app_package="com.xxzb.fenwoo", app_activity=".activity.user.CreateGesturePwdActivity") commit_btn = (MobileBy.ID, 'com.xxzb.fenwoo:id/right_btn') password_gesture = (MobileBy.ID, 'com.xxzb.fenwoo:id/gesturepwd_create_lockview') element_commit = base.find_element(commit_btn) element_commit.click() password_element = base.find_element(password_gesture) base.scratchable_latex(password_element, '14789') time.sleep(5)
def test_login(self, common_driver): """登录""" driver = BasePage(common_driver) time.sleep(3) driver.swipe(direction='left', swipes=3) # 滑动屏幕 # 进入首页 home_btn = (MobileBy.ID, 'com.xxzb.fenwoo:id/btn_start') driver.find_element(home_btn).click() time.sleep(2) login_btn = ( MobileBy.ANDROID_UIAUTOMATOR, 'new UiSelector().textContains(\"注册/登录\").resourceId(\"com.xxzb.fenwoo:id/btn_login\")' ) driver.find_element(login_btn).click() time.sleep(2) driver.find_element( (MobileBy.ID, 'com.xxzb.fenwoo:id/et_phone')).send_keys('18684720553') time.sleep(2) driver.find_element( (MobileBy.ID, 'com.xxzb.fenwoo:id/btn_next_step')).click() driver.find_element( (MobileBy.ID, 'com.xxzb.fenwoo:id/et_pwd')).send_keys('python') driver.find_element( (MobileBy.ID, 'com.xxzb.fenwoo:id/btn_next_step')).click()