Наша команда тестировщиков столкнулась с проблемой при разработке своих сценариев автоматизации с использованием WebDriver.Они использовали ожидание $ .active == 0, чтобы определить, что все запросы ajax завершены, прежде чем продолжить.Однако при определенных частичных загрузках представления активная переменная не уменьшалась, что делало автоматизацию очень сложной.
Я исследовал и обнаружил, что проблема возникает только при загрузке частичных представлений, включающих a.JS файл и были загружены с помощью вызова AJAX.Однако это не произошло для всех представлений, которые включали файл.Вот как мы включали дополнительные JS.
<script type="text/javascript" src="@Url.Script("Internal/People/CommitteeMembership.js")" />
У проблемных представлений была одна общая проблема.Сценарий include был определен в верхней части частичного представления.Когда я переместил это в конец частичного представления, проблема исчезла, и переменная $ .active корректно уменьшается и заканчивается на 0 после вызова ajax, чтобы получить частичное представление.
Myвопрос , кто-нибудь может объяснить, почему это происходит?Я не нашел никаких инструкций, чтобы поместить js include внизу частичного представления?По крайней мере, проблема решена, и наши тесты автоматизации могут быть продолжены, но мне бы очень хотелось знать, почему ...