0
Aus irgendeinem Grund habe ich Probleme, Befehlszeilenargumente mit meinen Unit Tests zu verwenden.Wie benutzt man ein Kommandozeilenargument im Unittest?
Einfach gesagt, alles was ich will, ist env mit all meinen Tests zu verwenden. Was mache ich hier falsch?
# -*- coding: utf-8 -*-
import argparse
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
import unittest, time, re
class mySmokeTest(unittest.TestCase):
def __init__(self, args):
self.env = args.env
def setUp(self):
self.driver = webdriver.Firefox()
self.base_url = "http://google.com"
self.verificationErrors = []
self.accept_next_alert = True
def test_add_to_cart(self, env):
# open base page
driver = self.driver
driver.get("{0}".format(env))
def tearDown(self):
self.driver.quit()
self.assertEqual([], self.verificationErrors)
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument('env', default='environment to test against')
args = parser.parse_args()
env = args.env
runner = unittest.TextTestRunner()
itersuite = unittest.TestLoader().loadTestsFromTestCase(mySmokeTest)
runner.run(itersuite)
Fehler:
self.env = args.env
AttributeError: 'str' object has no attribute 'env'
I Ich weiß nicht, was du falsch machst, erzählst du uns. Sie müssen die Seite [mcve] erneut lesen, insbesondere den Teil über den Fehler. –
Also übergebe ich das Argument richtig? – david
Ich weiß nicht, erhalten Sie irgendwelche Fehler? –