自动化测试 - selenium IDE导出到Python文件,提示错误: 不支持命令selectFrame
黄舟
黄舟 2017-04-18 10:09:21
0
1
1148

test case:

tk
open /new_post
selectFrame index=0
click link=评论
sendKeys class=autosize Auto Test
keyDown class=autosize 13
keyUp class=autosize 13

导出的Python文件:

# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
import unittest, time, re

class Test(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(30)
        self.base_url = "http://127.0.0.1/"
        self.verificationErrors = []
        self.accept_next_alert = True
    
    def test_(self):
        driver = self.driver
        driver.get(self.base_url + "/new_post")
        # ERROR: Caught exception [ERROR: Unsupported command [selectFrame | index=0 | ]]
        driver.find_element_by_link_text(u"评论").click()
        # ERROR: Caught exception [Error: unknown strategy [class] for locator [class=autosize]]
        # ERROR: Caught exception [ERROR: Unsupported command [keyDown | class=autosize | \13]]
        # ERROR: Caught exception [ERROR: Unsupported command [keyUp | class=autosize | \13]]
    
    def is_element_present(self, how, what):
        try: self.driver.find_element(by=how, value=what)
        except NoSuchElementException as e: return False
        return True
    
    def is_alert_present(self):
        try: self.driver.switch_to_alert()
        except NoAlertPresentException as e: return False
        return True
    
    def close_alert_and_get_its_text(self):
        try:
            alert = self.driver.switch_to_alert()
            alert_text = alert.text
            if self.accept_next_alert:
                alert.accept()
            else:
                alert.dismiss()
            return alert_text
        finally: self.accept_next_alert = True
    
    def tearDown(self):
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)

if __name__ == "__main__":
    unittest.main()

我该怎么修改Python代码才能让其正常运行呢?以及若要使用selenium IDE该如何选择firefox版本?从哪里入手学习呢?谢谢大家

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

membalas semua(1)
伊谢尔伦

1. Saya melihat bahawa kod itu agak kemas dan ia kelihatan seperti kod yang boleh dijalankan. Masalahnya ialah self.base_url = "http://127.0.0.1/". Anda perlu mendayakan perkhidmatan http ini pada mesin tempatan anda.

2. Selenium ialah modul ular sawa yang mengawal penyemak imbas Memilih versi firefox bukan urusan IDE, tetapi ia tidak memilih versi yang dipasang mesin itu. Firefox, versi apa yang digunakan

3. Pelajari bahasa pengaturcaraan python dahulu

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan