public MangaHereTests() { var updater = new ChromeDriverUpdater(".\\"); updater.ExecuteAsync().Wait(); source = new CancellationTokenSource(); var options = new ChromeOptions(); options.AddArgument("--window-size=1920,1080"); options.AddArgument("--start-maximized"); options.AddArgument("--headless"); ChromeDriver = new ChromeDriver(options); Wait = new WebDriverWait(ChromeDriver, TimeSpan.FromSeconds(10)); downloader = new HttpDownloader(new FilenameDetector(new GoogleProxyFilenameDetector())); service = new MangaHere(logger.Object, downloader, new XPathSelector(), new Retry(), ChromeDriver); }
public async Task MangaHere_Test() { string url = "http://www.mangahere.cc/manga/the_god_of_high_school/"; var service = new MangaHere(_logger, new Downloader(_logger), new HtmlAtilityPackAdapter(), new Retry()); var chapters = await service.FindChapters(url, new Progress <int>(), _source.Token); Assert.IsTrue(chapters.Any(), "Cannot find chapters."); var chapter = chapters.Last(); Assert.AreEqual("The God Of High School", chapter.Manga); Assert.AreEqual("The God Of High School 1", chapter.DisplayName); Assert.AreEqual("http://www.mangahere.cc/manga/the_god_of_high_school/c001/", chapter.Url); var images = await service.FindImages(chapter, new Progress <int>(), _source.Token); Assert.AreEqual(55, images.Count()); Assert.IsTrue(images.ToArray()[0].StartsWith("https://mhcdn.secure.footprint.net/store/manga/9275/001.0/compressed/m001.01.jpg")); Assert.IsTrue(images.ToArray()[1].StartsWith("https://mhcdn.secure.footprint.net/store/manga/9275/001.0/compressed/m001.02.jpg")); Assert.IsTrue(images.ToArray()[54].StartsWith("https://mhcdn.secure.footprint.net/store/manga/9275/001.0/compressed/m001.55.jpg")); string imageString = await downloader.DownloadStringAsync(images.ToArray()[0], _source.Token); Assert.IsNotNull(imageString, "Cannot download image!"); }
public async Task MangaHere_Test() { string url = "http://www.mangahere.cc/manga/deathtopia/"; var service = new MangaHere(logger, downloader, new HtmlAtilityPackAdapter(), new Retry()); Assert.IsTrue(service.Of(url)); var chapters = await service.FindChapters(url, new Progress <int>(), source.Token); Assert.AreEqual(66, chapters.Count(), "Cannot find chapters."); var chapter = chapters.Last(); Assert.AreEqual("Deathtopia", chapter.Manga); Assert.AreEqual("Deathtopia 1", chapter.DisplayName); Assert.AreEqual("http://www.mangahere.cc/manga/deathtopia/c001/", chapter.Url); var images = await service.FindImages(chapter, new Progress <int>(), source.Token); Assert.AreEqual(59, images.Count()); Assert.IsTrue(images.ToArray()[0].StartsWith("https://mangatown.secure.footprint.net/store/manga/14771/001.0/compressed/uimg001.jpg")); Assert.IsTrue(images.ToArray()[1].StartsWith("https://mangatown.secure.footprint.net/store/manga/14771/001.0/compressed/uimg002.jpg")); Assert.IsTrue(images.ToArray()[58].StartsWith("https://mangatown.secure.footprint.net/store/manga/14771/001.0/compressed/uimg059.jpg")); string imageString = await downloader.DownloadStringAsync(images.ToArray()[0], source.Token); Assert.IsNotNull(imageString, "Cannot download image!"); }