这些文章大家都写了很多了。 这里只是简单的记录下自己以前做过的,以及一些自己粗浅的看法。
同样的,在PY大火的今天,这里仍然使用Python+selenium(webdriver)
1. 准备环境。 本人用的是python3.4.如果以前没有接触过py2.X,建议直接3.x,再安个webdriver。 环境准备不赘述了,网上一搜一大堆,推荐虫师的博客,详细实用。
2.环境准备妥当,直接引入包。不多说废话,上代码
from selenium import common import selenium from selenium.webdriver.common.keys import Keys from WebUIAuto import Login from time import sleep
是的,这四个包已经足够完成你80%的工作了。(忽略第四个,自己的第三方包)
3.登陆模块
class Login(object): def __init__(self, chromedriverpath, url, name, password): self.chromedriverpath = chromedriverpath self.url = url self.name = name self.password = password def login_chaike_UI(self): try: chromedriverpath = self.chromedriverpath dr = webdriver.Chrome(chromedriverpath) dr.get("http://{}".format(self.url)) dr.maximize_window() sleep(2) dr.find_element_by_xpath("//div[@class='box-login']/a[1]").click() dr.find_element_by_id('user').send_keys(self.name) dr.find_element_by_id('pwd').send_keys(self.password) dr.find_element_by_id('loginBtn').click() return {'code': 1, 'data': dr} except Exception as ex: return {'code': 0, 'data': ex}
一个类搞定,
webdriver.Chrome(chromedriverpath)代表是启动webdriver对Chromr的支持,之前的版本貌似不需要webdrive所在的地址,现在不加会报错。
webdriver.Chrome.get(url),打开你要测试的网站地址。
webdriver.Chrome.find_element_by_id和by_xpath:
webdriver底层是使用JS实现模拟操作的,你可以把它看成把JS封装成了第三方库,所以,byid或者是bycss,xpath,都是基于html和js来的,如果你拥有一点此类的基础知识,
对于UI自动化来说是很有帮助的。
dr.find_element_by_xpath("//div[@id='sortBox']/a[4]").click() sleep(1) dr.find_element_by_xpath("//div[@id='listContainer']/div[1]/table[2]/tbody/tr[1]/td[5]").click() sleep(3) #填写 dr.find_elements_by_xpath("//input[@name='PassengerName1']")[0].send_keys('Test') dr.find_elements_by_xpath("//input[@name='PassengerName2']")[0].send_keys('Join')