导入Selenium testcase后,Python for-loop中出现错误:缩进错误:未缩进与任何外部缩进级别都不匹配
请帮忙解决。我是Selenium的新手,我正在尝试自动化下面的测试用例: Tetscase是将不同的值传递到4094,而不是2,3。所以我创建了for循环,但是导入Selenium testcase后,Python for-loop中出现错误:缩进错误:未缩进与任何外部缩进级别都不匹配,python,selenium,for-loop,Python,Selenium,For Loop,请帮忙解决。我是Selenium的新手,我正在尝试自动化下面的测试用例: Tetscase是将不同的值传递到4094,而不是2,3。所以我创建了for循环,但是 driver.find_element_by_id("vlnid").send_keys("2") driver.find_element_by_id("vlnnmtxt").clear() driver.find_element_by_id("vlnnmtxt").send_keys("2") driver.find_element_
driver.find_element_by_id("vlnid").send_keys("2")
driver.find_element_by_id("vlnnmtxt").clear()
driver.find_element_by_id("vlnnmtxt").send_keys("2")
driver.find_element_by_id("cratvlnbtnsv").click()
要传递键-不同的值
因为我在4094范围内
但我得到了一个错误:
缩进错误:未缩进与任何外部缩进级别不匹配
谢谢。我不知道这是否是您看到的问题,但这是一个缩进错误:
def语句体或任何其他复合语句的缩进程度必须大于带冒号的行
代码中可能还有其他缩进错误。您还至少有一个来自0的语法错误。您还拥有极不一致的缩进样式,并且严重地过度使用了一行复合语句,使得读取和诊断代码变得更加困难
我强烈建议您使用一个像样的文本编辑器或IDE来帮助缩进,并在出错时清晰地显示出来
此外,您应该阅读并遵循,最好使用自动PEP8样式检查器,甚至可以直接在编辑器/IDE中执行。这将更容易发现问题。首先,回溯会告诉您和我们错误在哪一行。没有这些,我们只能猜测。其次,这不可能是您的实际代码,因为它在出现IndentationError之前就有了self.verificationErrors=[]0这样的语法错误。请给我们实际演示错误的代码,而不是不同的代码。这一行:driver.find_element_by_link_textAdd.click在您粘贴的代码中,这一行根本没有缩进,也不应该缩进,因此没有错误。因此,除非你发布你的实际代码,并发布你得到的回溯,否则没有人能帮助你。谢谢你,但我只使用了Selenium IDE
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
import unittest, time, re
class TC10(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
self.base_url = "192.168.70.106"
self.verificationErrors = []0
self.accept_next_alert =True
def test_t_c10(self):
driver = self.driver
driver.get(self.base_url + "/login.php")
driver.find_element_by_id("usrnm").clear()
driver.find_element_by_id("usrnm").send_keys("manager")
driver.find_element_by_id("usrpass").clear()
driver.find_element_by_id("usrpass").send_keys("friend")
driver.find_element_by_link_text("Switching").click()
driver.find_element_by_link_text("VLANs").click()
driver.find_element_by_link_text("Add").click()
driver.find_element_by_id("vlnid").clear()
driver.find_element_by_id("vlnid").send_keys("2")
driver.find_element_by_id("vlnnmtxt").clear()
driver.find_element_by_id("vlnnmtxt").send_keys("2")
driver.find_element_by_id("cratvlnbtnsv").click()
driver.find_element_by_link_text("Add").click()
driver.find_element_by_id("vlnid").clear()
driver.find_element_by_id("vlnid").send_keys("3")
driver.find_element_by_id("vlnnmtxt").clear()
driver.find_element_by_id("vlnnmtxt").send_keys("3")
driver.find_element_by_id("cratvlnbtnsv").click()
def is_element_present(self, how, what):
try:
self.driver.find_element(by=how, value=what)
except NoSuchElementException, e: return False
return True
def is_alert_present(self):
try:
self.driver.switch_to_alert()
except NoAlertPresentException, 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()
def is_element_present(self, how, what):
try:
self.driver.find_element(by=how, value=what)
except NoSuchElementException, e: return False
return True