Click на линк в Angular - как решить задачу?

Пришлось мне писать автомацию на сайт который построен на Angular.
И есть на этом чудо сайте такая кнопочка как “Выход”.
В коде она выглядит следующе:

<a href="" ng-click="LogOff()" ng-bind="Resources('Exit')" class="ng-binding">Выход</a>

Обычный Click() ничего не делает, только фокус на этот линк создает.
И как же его нажать?
Подумал может вызвать LogOff() будет достаточно, написал следующее

IJavaScriptExecutor javascript = driver as IJavaScriptExecutor;
if (javascript == null)
       throw new ArgumentException("element", "Element must wrap a web driver that supports javascript execution");

javascript.ExecuteScript("Logoff();");

Но оно не срабатыват. Может я не правильно вызываю этот метод Logoff()?

Может быть как то через javascript произвести клик на линк? Подскажите как решить задачу.

как обращаетесь к элементу используя обычный Click?

Через Actions пробовали?

Когда нам было необходимо писать автотесты (писали на JavaScript) для сайта на AngularJS, мы использовали платформу node.js Тестировали через protractor (обертка вокруг Selenium ) внутри использовали фреймворк для тестирования Jasmine
Возможно Вам как-то поможет…

http://jasmine.github.io/1.3/introduction.html

1 лайк

+1. Весьма известный и популярный tool для тестирования AngularJS. Интеграция с WebDriver.

Что вы имеете ввиду под Actions?

А альтернатива на C#?

Т.е. что-то вроде

using OpenQA.Selenium;
using OpenQA.Selenium.Interactions;
using OpenQA.Selenium.Interactions.Internal;
using OpenQA.Selenium.Support.UI;

var elem = driver.FindElement(By.Id("someId"));
Actions action  = new Actions(driver);
action.Click(elem).Perform()

anym0us ответил верно. Это я и имел в виду.

Такой скрипт не отработает, мне кажется LogOff() находится в другом скопе чем выполняемый скрипт.

Если честно сложно сказать в чем именно проблема. Я использовал библиотеку Protractor для автоматизации сайта на Angular.

Можете привести пример кода с обычным кликом по линке?

Странно, но обычный клик вдруг начал работать.