第一次自动化测试

第一次自动化测试,对中国天气网进行一系列的自动化测试
http://www.weather.com.cn/
总结:
1.在第三方登录的时候时候,需要先定位iframe,否则不能直接进行操作,第三方登录用账号密码登录会拦截,所以只能选择点击头像登录了,挺憨憨的。
2.用JavaScript对标签属性进行删除也是一点,但还是容易解决的,用execute_script()函数还是比较方便的。

import time
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome(r"E:\python37\chromedriver.exe")
driver.get("http://www.weather.com.cn/")
time.sleep(5)

driver.maximize_window()        #窗口最大化
driver.find_element_by_class_name("login-icon").click()     #找到登录按钮并登录
time.sleep(2)
driver.find_element_by_class_name("third-party-qq").click()     #通过QQ第三方登录
time.sleep(2)
windows = driver.window_handles     #查询窗口数
driver.switch_to.window(windows[1])     #选中第二个新窗口
time.sleep(2)
driver.switch_to.frame("ptlogin_iframe")        #选择第三方登录窗口地frame   frame要先查找才能定位
time.sleep(3)

driver.find_element_by_class_name("img_out_focus").click()      #通过QQ登录情况先点击头像登录
time.sleep(30)      #等待时间加长,因为第三方登录该网站后响应时间过长,若等待时间短暂地话,会找不到页面

windows = driver.window_handles
driver.switch_to.window(windows[1])

driver.refresh()        #页面刷新
url = driver.current_url        #查找当前页面地网址
print(url)

move_action = driver.find_element_by_class_name("top_list_title")       #定位到头像悬浮
ActionChains(driver).move_to_element(move_action).perform()
time.sleep(5)

driver.find_element_by_link_text("个人中心").click()    #通过文本查找个人中心进行点击
time.sleep(3)

driver.find_element_by_link_text("头像设置").click()    #点击头像设置
time.sleep(3)

input_file = driver.find_element_by_id("upload-file")       #上传照片
time.sleep(2)

input_file.send_keys(r"C:\Users\12051\Pictures\Saved Pictures\timg.jpg")    #通过图片在网址本地上的地址查找
time.sleep(1)

driver.find_element_by_id("btnCrop").click()    #点击保存按钮
time.sleep(3)

driver.find_element_by_link_text("个人资料").click()        #点击个人资料
time.sleep(3)

driver.find_element_by_class_name("birChoose-city").click()     #选择城市
time.sleep(3)

alter_action = driver.switch_to.alert       #对警告弹窗进行处理进行处理
time.sleep(1)
alter_action.accept()       #弹窗确定

change_link = driver.find_element_by_xpath("/html/body/div[1]/div/div[1]/a[6]")     #找到元素
driver.execute_script('arguments[0].removeAttribute(\"target\")',change_link)       #删除标签的target属性,防止在新窗口打开该链接页面
change_link.click()

time.sleep(3)
driver.close()

比较low,刚学

发布了10 篇原创文章 · 获赞 3 · 访问量 512

猜你喜欢

转载自blog.csdn.net/weixin_44546342/article/details/103092110