Archiv der Kategorie: Browser Knowhow

Cookies bei verschiedenen Browsern anzeigen

Da es viele Anleitungen im Netz gibt, auf denen umständliche Ansätze und nur für einzelne Browser erläutert werden – hier die Übersicht der schnellsten Wege:
Chrome
überprüft mit Version 56
Klicke chrome://settings/cookies und suche nach der Domain der gesuchten Cookies.
Internet Explorer
überprüft mit IE 11
Windows-Taste & R drücken
“shell:cache” eingeben und bestätigen
Cookies werden im IE als Files abgelegt und haben alle “cookie” im Namen. Danach kann dann auch gefiltert werden.
Firefox
überprüft mit Version 52.0
Klicke about:preferences#privacy und klicke dann auf “einzelne Cookies” und suche nach der Domain der gesuchten Cookies.

Der Internet Explorer und seine Prozesse

Für die Browser-basierte UI-Testautomatisierung ist ein gewisses Grundverständnis der Browsertechnologie sinnvoll, daher hier eine kurze Einführung zur Prozessverwaltung des Internet Explorers.
Ab dem Internet Explorer 8 wurde ein neue neue Prozessverwaltung eingeführt. Microsoft nennt dieses Konzept Loosely-Coupled Internet Explorer (LCIE). Dies, weil der Crash einer Website in einem Tab nicht zum Crash des gesamten Browsers führen soll. Startet man also den Internet Explorer (es öffnet sich i.d.R. nur ein Tab) und schaut nach dessen Prozessen im Task Manager findet sich dort ein iexplore.exe und ein iexplore.exe *32. Der iexplore.exe ist der Hauptprozess, in dem der Frame (also das eigentliche rohe Fenster), die Favoritenleiste und die Adressleiste residieren. Der iexplore.exe *32 ist ein Prozess, in denen der Tab residiert. Öffnet man nun weitere Tabs, öffnen sich gg.falls weitere iexplore.exe *32-Prozesse. Wieviele Prozesse für die offenen Tabs geöffnet werden, entscheiden mehrere Faktoren (verfügbarer RAM, Zonenzugehörigkeit der geöffneten Websites, usw.)
Wer das Obige “erleben” will, beendet einen iexplore.exe *32 per Taskmanager und schaut sich gleichzeitig die Tabs im Internet Explorer an. man sieht, dass kurze Zeit später ein neuer iexplore.exe *32 auftaucht und gleichzeitig im Browser die Webseite im entsprechenden Tab(s) neu geladen wird. Wer den iexplore.exe-Prozess beendet, schließt den Internet Explorer hingegen komplett.
Wer die entsprechenden Prozesse noch im Output des Visual Studios (New Project -> Console Project) mittels C# ausgeben möchte:

using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Runtime.InteropServices;
class InternetExplorerChecker
{
    public static void Main()
    {
        Process[] allProcesses = Process.GetProcesses();
        foreach (Process process in allProcesses)
        {
            if (!process.ProcessName.Contains("iexplore")) continue;
            bool isProcess64Bit = ProcessBitnessChecker.Is64BitProcess(process);
            String processInfo = process.Id + ": " + process.ProcessName + " (isProcess64Bit: " + isProcess64Bit + ")";
            System.Diagnostics.Debug.WriteLine(processInfo);
        }
    }
}
static class ProcessBitnessChecker
{
    [DllImport("kernel32.dll", SetLastError = true, CallingConvention = CallingConvention.Winapi)]
    [return: MarshalAs(UnmanagedType.Bool)]
    public static extern bool IsWow64Process([In] IntPtr processHandle, [Out, MarshalAs(UnmanagedType.Bool)] out bool wow64Process);
    public static bool Is64BitProcess(this Process process)
    {
        if (!Environment.Is64BitOperatingSystem)
            return false;
        bool isWow64Process;
        if (!IsWow64Process(process.Handle, out isWow64Process))
            throw new Win32Exception(Marshal.GetLastWin32Error());
        return !isWow64Process;
    }
}

Quelle des P/Invoke Snippets: http://stackoverflow.com/a/3576797/1777526