web自动化测试的过程中,可能会打开多个窗口,这种情况下需要切换到对应的窗口才能定位到相应的元素。需要测试一个web页播放音乐的功能,点击播放后会弹出一个新的播放页面,这时候需要判断歌曲是否被加入到播放器就需要切换页面再定位。
01.gif
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import unittest,time
from selenium import webdriver
driver = webdriver.Firefox()
class Audioplayer(unittest.TestCase):
@classmethod
def setUpClass(cls):
print('测试播放器开始')
@classmethod
def tearDownClass(cls):
driver.close()
print('测试播放器结束')
# 单曲播放
def test_case_01(self):
driver.get("http://music.migu.cn/v3/music/song/6327340243Q")
# 打印出当前窗口句柄
print(driver.current_window_handle)
driver.find_element_by_xpath('//*[@id="is_songPlay"]').click()
# 获取所有窗口句柄
all_handles = driver.window_handles
print(all_handles)
# 切换到播放器对应的窗口
driver.switch_to.window(all_handles[1])
time.sleep(3)
self.assertEqual('倒数',driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div[3]/div/ul/li[1]/div[5]/span').text)
网友评论