UI自动化记录,若跳转页面没有传入driver会重新打开一个页面

这篇博客讲述了在使用Python的Selenium库进行自动化测试时,遇到新窗口打开的问题及解决方案。首先,通过简化流程检查代码逻辑是否正确;其次,确认URL和driver的传入是否准确。博主还提供了完整的自动化测试代码示例,包括登录、填写笔记、发布等步骤,并使用了隐式等待和断言来确保操作成功。最后,对于新窗口的出现,可能是由于未正确处理页面跳转或iframe切换导致。
摘要由CSDN通过智能技术生成

问题:python,调用自动化过程中新打开了一个窗口,不知道哪一步写错了
解决方法:
1.简化所有步骤如下,检查是否流程没问题:

class TestNotes1:

    def test_note(self):
        url = "https://www.zoho.com.cn/notebook/"
        driver = webdriver.Chrome()
        driver.maximize_window()
        driver.implicitly_wait(3)
        driver.get(url)
        # 点击登录按钮
        driver.find_element_by_xpath('//*[@id="head"]/div[1]/a[2]').click()
        # 输入登录账号
        driver.find_element_by_id('login_id').send_keys("765120214@qq.com")
        # 点击下一步
        driver.find_element_by_id('nextbtn').click()
        # 输入密码
        driver.find_element_by_id('password').send_keys('xmm765120214')
        # 点击登录按钮
        driver.find_element_by_id('nextbtn').click()
        # 点击写笔记按钮
        driver.find_element_by_xpath('//*[@class="col-auto bg-black-strict"]//div[@class="row no-gutters"]/div[2]').click()
        # 填写标题
        driver.find_element_by_id('title-editor').send_keys("测试1")
        # 切换iframe
        iframe_ele = driver.find_element_by_xpath('//*[@class="iframeWrapper"]/iframe')
        driver.switch_to.frame(iframe_ele)
        sleep(1)
        # 填写内容
        driver.find_element_by_xpath('//html/body/div').send_keys("内容1")
        # 切回主文档
        driver.switch_to.default_content()
        sleep(1)
        # 点击发布按钮
        driver.find_element_by_xpath(
            '//*[@id="note-modal"]//text-note-editor/div/div[1]/div[2]').click()
        # 获取toast
        # toast = driver.find_element_by_id('toast-message-text').is_displayed()
        toast = WebDriverWait(driver, 10).until(expected_conditions.visibility_of_element_located((By.ID, 'toast-message-text')))
        status = toast.is_displayed()
        assert status == True
        driver.quit()

2.确认1没问题,检查url传入是否正确
3.检查driver传入是否正确

from page.basepage import BasePage
from page.notes.notes import Notes


class Index(BasePage):

    def wait_sleep(self,sleeps):
        self.sleep(sleeps)
        return self

    def notes(self):
        '''点击笔记本'''
        return Notes(self._driver)  #如果跳转页面,这里没有传入self._driver就会重新打开窗口
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值