Я использую для внешнего интерфейса VueJS для стилизации моей веб-страницы и Selenium для тестирования моего внешнего интерфейса.Для бэк-энда я использую Django.Все это в моем докере доступно.У меня есть несколько компонентов VueJS с именами WJLogin
, WJHeader
и WJFooter
по следующему URL: 'http://backend:8001/account/login'. Все элементы этого URL действительно загружаются, кроме элементов всех компонентов VueJS.В этом вопросе я отдаю предпочтение WJLogin
, потому что, если компонент загружается, автоматически загружается и другой (если все одинаково).
Я попробовал следующие варианты:
Код из моего тестового файла tests_frontend.py
class AccountTestCase(unittest.TestCase):
def setUp(self):
caps = {'browserName': 'chrome'}
url = 'http://selenium_hub:4444/wd/hub'
self.browser = webdriver.Remote(
command_executor=url,
desired_capabilities=caps
)
def tearDown(self):
self.browser.quit()
def test_login(self):
driver = self.browser
driver.get("http://backend:8001/account/login")
print(driver.page_source)
Код из моего файла VueJS WJLogin.vue
(этомой компонент)
<template>
<div>
<v-app>
<WJHeader :username="username"></WJHeader>
<v-layout align-center justify-center row>
<v-flex lg5>
<v-container white>
<form method="post" action="/login_view">
<h4>Login into <span class="primary--text"> Phoenix </span></h4>
<input name="csrfmiddlewaretoken" :value="csrf" type="hidden">
<v-text-field id="loginUsername" name="username" label="Username" required> </v-text-field>
<v-text-field
:append-icon="showPassword ? 'visibility' : 'visibility_off'"
:rules="[passwordRules.required]"
:type="showPassword ? 'text' : 'password'"
label="Password"
name="password"
id="loginPassword"
@click:append="showPassword = !showPassword">
</v-text-field>
<v-btn id="loginSubmit" color="success" type="submit"> Login </v-btn>
<v-btn color="error" type="reset"> Reset </v-btn>
</form>
</v-container>
</v-flex>
</v-layout>
<WJFooter></WJFooter>
</v-app>
</div>
</template>
Этот снимок экрана показывает вывод
Этот снимок экрана показывает исходный код (Ctrl+U)
На этом снимке экрана показаны элементы (F12 -> inspector)
Когда яперейдите на мою веб-страницу без селена Я вижу WJLogin
без проблем .
Я ожидаю, что Selenium должен загрузить компонент WJLogin
также, как и в обычном режиме (без селена и в обычном браузере Chrome / Firefox)
Примечание: требуется10 репутации за публикацию изображения в StackOverflow