def get_screen(self, file_path): '''截图''' try: self.driver.get_screenshot_as_file(file_path) log1.info("截图保存成功,保存路径为:%s" %file_path) except Exception as e: log1.error("截图失败,原因:%s" %e)
def js(self, sprit): '''执行js''' try: self.driver.execute_script(sprit) log1.info("执行js成功,js内容为:%s" %sprit) except Exception as e: log1.error("执行js报错,原因:%s" %e)
def click(self, fangfa, dingwei): '''点击''' try: e1 = self.element(fangfa, dingwei) e1.click() log1.info("点击元素成功") except Exception as e: log1.info("点击元素异常,原因:%s"%e)
def send_key(self, fangfa, dingwei, text): '''输入内容''' try: e1 = self.element(fangfa, dingwei) e1.clear() e1.send_keys(text) log1.info("输入的测试内容:%s" %text) except Exception as e: log1.error("输入测试内容异常,原因:%s" %e)
def asset(self, fangfa, dingwei): '''查找元素文本(断言用)''' try: self.element(fangfa, dingwei) e1=self.element(fangfa, dingwei).text log1.info("断言成功") return e1 except Exception as e: log1.error("断言失败,原因:%s" %e)
def __init__(self): '''android固定参数设置''' desired_caps = {} # 定义启动设备需要的参数 desired_caps['platformName'] = 'Android' # 设备的操作系统 desired_caps['platformVersion'] = '5.1.1' # 设备的系统版本号 desired_caps['deviceName'] = '127.0.0.1:62001' # 设备名称,使用手机类型或者模拟器类型 desired_caps['appPackage'] = 'com.tencent.mobileqq' # 要测试的应用的包名 desired_caps['appActivity'] = 'com.tencent.mobileqq.activity.SplashActivity' # 启动的activity参数 # 默认使用appium自带输入法 desired_caps['unicodeKeyboard'] = True desired_caps['resetKeyboard'] = True driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) self.driver=driver log1.info("打开待测APP")
def element(self,fangfa,dingwei): '''元素定位''' if fangfa == 'id': element=self.driver.find_element_by_id(dingwei) elif fangfa == 'name': element=self.driver.find_element_by_name(dingwei) elif fangfa == 'class': element=self.driver.find_element_by_class_name(dingwei) elif fangfa == 'xpath': element=self.driver.find_element_by_xpath(dingwei) elif fangfa == 'link_text': element=self.driver.find_element_by_link_text(dingwei) elif fangfa == 'tag': element=self.driver.find_element_by_tag_name(dingwei) elif fangfa == 'css': element=self.driver.find_element_by_css_selector(dingwei) else: log1.error("没有找到元素") raise NameError("请输入定位元素方法,如'id','name','class','link_text','xpath','css','tag'") log1.info("元素定位成功,定位方法:%s,元素值:%s" %(fangfa,dingwei)) return element
def close(self): '''关闭''' self.driver.close() log1.info("关闭app")
def click_text(self, text): '''点击文字''' self.driver.find_element_by_link_text(text).click() log1.info("点击文本内容:%s"%text)
def clear(self, fangfa, dingwei): '''清空''' e1 = self.element(fangfa, dingwei) e1.clear() log1.info("清空输入框内容")
def quit(self): '''退出''' self.driver.quit() log1.info("退出app")