Фиксация auth_permission таблицы после переименования модели в Django

Другой вариант - очистить текстовый элемент с помощью Javascript. Из-за проблем, возникающих в определенных ситуациях параллельного тестирования, я перестал полагаться на функцию SendKeys некоторое время назад. Вместо этого я использую эти функции сейчас, чтобы установить определенный текст:

    private void SetText(IWebElement element, string text, bool clearOldText)
    {
        // Clear old text if needed
        if (clearOldText)
        {
            LogInfo("Clearing " + element.ToString() + @" from any text.");
            SetElementValue(element, "");
        }

        element.Click();
        SetElementValue(element, text);
    }

    public string SetElementValue(IWebElement element, string value)
    {
        ScrollToElement(element);
        PaintElement(element, "yellow");
        var exec = (IJavaScriptExecutor)this;
        var script = @"
            var el = arguments[0];
            el.value = '" + value + @"';
            try 
            {
                if (""createEvent"" in document) {
                    var evt = document.createEvent(""HTMLEvents"");
                            evt.initEvent(""change"", false, true);
                            el.dispatchEvent(evt);
                        }
                else
                    el.fireEvent(""onchange"");
            }
            catch(err){ return err; }
            return ""Javascript executed."";
            ";
        LogInfo("Setting value to '" + value + "' for " + element.ToString());
        var result = exec.ExecuteScript(script, element);
        Recorder?.AddScreenshot();
        return result.ToString();
    }

Лично мне немного не нравится жестко закодированный JavaScript, но он всегда работал надежно. «SetElementValue» вызывается дважды в этом коде, чтобы обеспечить правильную обработку определенных событий в моих тестах: в других случаях это может не потребоваться.

7
задан shacker 27 February 2009 в 07:12
поделиться

2 ответа

Вот отрывок, который заполняет пропавших без вести contenttypes и полномочия. Интересно, могло ли это быть расширено, чтобы, по крайней мере, сделать часть ишачьего труда для чистки auth_permissions.

2
ответ дан 7 December 2019 в 12:25
поделиться

Я добрался о на полпути через длинный ответ, который подробно изложил план нападения, которое я предприму в этой ситуации, но поскольку я писал, что понял там, вероятно, не путь вокруг необходимости сделать время простоя обслуживания в этой ситуации.

Можно минимизировать время простоя при наличии подготовленного loaddata сценария, конечно, хотя заботу нужно соблюдать, чтобы удостовериться, что auth_perms первичные ключи находятся в синхронизации.

Также см. короткий ответ: никакой автоматизированный способ сделать это, о котором я знаю.

0
ответ дан 7 December 2019 в 12:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: