【发布时间】:2018-04-19 21:42:21
【问题描述】:
我目前正在为我的大学做一些任务。我正在为我的应用程序编写 Django Selenium 测试。我正在尝试编写删除对象的测试。
我的代码的关键部分是:
删除确认.html
<form action="" method="post" id="confirmForm">{% csrf_token %}
<p>{% trans "Are you sure you want to delete this car?" %}</p>
<input class="center-block btn btn-danger" type="submit" value="{% trans 'Confirm' %}"/>
</form>
modal.js
function showModal(url) {
$("#myModalBody").text();
$("#myModal").modal();
$.ajax({
url,
cache: false
}).done(function (html) {
$("#myModalBody").html(html);
$("#confirmForm").attr('action', url);
});
}
当我点击以下按钮时
<button class="btn btn-primary btn-sm pull-left" value="" id="car-delete-modal-btn m-10-b" onclick="showModal('{% url 'c2crental:delete_car' details_car.id %}');">{% trans "Delete car" %}</button>
测试停止并显示结果:无法定位元素。我试图使用不同的选择器,但它们都不起作用。现在测试看起来像这样:
# click 'delete' button to display popup confirmation window
delete_btn = self.selenium.find_element_by_id('car-delete-modal-btn m-10-b')
delete_btn.click()
# click 'confirm' to delete object in popup window
submit = 'input[type="submit"]'
confirm_btn = self.selenium.find_element_by_id(submit)
confirm_btn.click()
我似乎无法为该按钮找到合适的选择器,或者这是同步问题。有人可以帮我解决吗?
对不起,我的英语不好,我希望你能理解我在这里想要做什么,但我只是从 Django 开始,测试,一般的编程,所以并不是一切都清楚。
【问题讨论】:
标签: python django selenium selenium-webdriver modal-dialog