{"id":296911,"date":"2022-11-11T14:27:40","date_gmt":"2022-11-11T13:27:40","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=qa&#038;p=296911"},"modified":"2022-11-15T08:24:24","modified_gmt":"2022-11-15T07:24:24","slug":"predstavujeme-jetbrains-aqua-vykonne-vyvojove-prostredi-pro-automatizaci-testovani","status":"publish","type":"qa","link":"https:\/\/blog.jetbrains.com\/cs\/qa\/2022\/11\/predstavujeme-jetbrains-aqua-vykonne-vyvojove-prostredi-pro-automatizaci-testovani\/","title":{"rendered":"P\u0159edstavujeme JetBrains Aqua \u2013\u2060 v\u00fdkonn\u00e9 v\u00fdvojov\u00e9 prost\u0159ed\u00ed pro automatizaci testov\u00e1n\u00ed"},"content":{"rendered":"<p>Zaji\u0161t\u011bn\u00ed kvality a testov\u00e1n\u00ed hraj\u00ed ve v\u00fdvoji modern\u00edho softwaru ned\u00edlnou roli. Jsme p\u0159esv\u011bd\u010deni, \u017ee na ka\u017edou pr\u00e1ci by se m\u011bl pou\u017e\u00edvat ten spr\u00e1vn\u00fd n\u00e1stroj. Vytvo\u0159en\u00ed samostatn\u00e9ho n\u00e1stroje pro automatizovan\u00fd v\u00fdvoj test\u016f pro n\u00e1s p\u0159edstavoval p\u0159irozen\u00fd krok, proto\u017ee n\u00e1m umo\u017e\u0148uje pokr\u00fdt pot\u0159eby t\u00fdm\u016f zab\u00fdvaj\u00edc\u00edch se nejen v\u00fdvojem softwaru, ale tak\u00e9 jeho testov\u00e1n\u00edm.<\/p>\n<p>S pot\u011b\u0161en\u00edm v\u00e1m p\u0159edstavujeme JetBrains Aqua \u2013 nov\u00e9 v\u00fdkonn\u00e9 v\u00fdvojov\u00e9 prost\u0159ed\u00ed (IDE) pro automatizaci test\u016f. Aqua p\u0159in\u00e1\u0161\u00ed jedine\u010dnou sadu funkc\u00ed odli\u0161nou od st\u00e1vaj\u00edc\u00edch produkt\u016f JetBrains. Do prost\u0159ed\u00ed Aqua jsme prom\u00edtli v\u0161echno, co je denn\u00edm chlebem ka\u017ed\u00e9ho tv\u016frce automatizace test\u016f, v\u010detn\u011b v\u00edcejazy\u010dn\u00e9ho IDE (s podporou JVM, Pythonu, JavaScriptu a dal\u0161\u00edch), HTTP klienta, funkc\u00ed pro spr\u00e1vu datab\u00e1z\u00ed, podpory Dockeru, klienta TMS a nov\u00e9ho v\u00fdkonn\u00e9ho Web Inspectoru pro automatizaci u\u017eivatelsk\u00e9ho rozhran\u00ed.<\/p>\n<p>A nyn\u00ed pro JetBrains Aqua spou\u0161t\u00edme ve\u0159ejn\u00fd n\u00e1hled, aby si prost\u0159ed\u00ed mohli v\u0161ichni vyzkou\u0161et a pomoci n\u00e1m teto n\u00e1stroj zdokonalit. Dal\u0161\u00ed informace o n\u00e1hledu najdete na konci tohoto p\u0159\u00edsp\u011bvku.<\/p>\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"JetBrains Aqua Preview\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/z7Yjl2Agrwg?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p>JetBrains Aqua je inteligentn\u00ed, kontextov\u011b orientovan\u00e9 IDE, kter\u00e9 rozum\u00ed jazyk\u016fm Java, Kotlin, Python, JavaScript, TypeScript a SQL a pro ka\u017ed\u00fd z nich nab\u00edz\u00ed inteligentn\u00ed pomoc p\u0159i k\u00f3dov\u00e1n\u00ed (coding assistance).<\/p>\n<p>Aqua po vzoru ostatn\u00edch IDE od JetBrains ov\u011b\u0159uje kvalitu a validitu k\u00f3du pomoc\u00ed pr\u016fb\u011b\u017en\u00fdch kontrol (inspekc\u00ed). Pokud IDE naraz\u00ed na probl\u00e9m, navrhne kontextov\u00e9 akce, kter\u00e9 by je m\u011bly umo\u017enit vy\u0159e\u0161it. Klepnut\u00edm na ikonu \u017e\u00e1rovky (nebo stisknut\u00edm <em>Alt+Enter<\/em>) vyvol\u00e1te kontextovou akci. A nav\u00edc m\u016f\u017eete vyu\u017e\u00edt dopl\u0148ov\u00e1n\u00ed k\u00f3du zohled\u0148uj\u00edc\u00ed p\u0159\u00edslu\u0161n\u00fd jazyk, detekci chyb a pr\u016fb\u011b\u017en\u00e9 opravy k\u00f3du!<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-293975\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/image-10.png\" alt=\"\" width=\"1400\" height=\"600\"><\/figure>\n<p>Pomoc\u00ed chytr\u00e9ho vyhled\u00e1v\u00e1n\u00ed m\u016f\u017eete p\u0159ej\u00edt na libovolnou t\u0159\u00eddu, soubor, symbol, akci IDE nebo okno n\u00e1stroje. Chytr\u00e9 vyhled\u00e1v\u00e1n\u00ed spust\u00edte dvojit\u00fdm stisknut\u00edm kl\u00e1vesy <em>Shift<\/em> a n\u00e1sledn\u011b sta\u010d\u00ed napsat n\u00e1zev hledan\u00e9 polo\u017eky.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-293986\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/image-11.png\" alt=\"\" width=\"1400\" height=\"600\"><\/figure>\n<p>Vyu\u017eijte podporu IDE pro code intelligence naplno pomoc\u00ed bezpe\u010dn\u00fdch funkc\u00ed <em>P\u0159ejmenovat<\/em> a <em>Odstranit<\/em>, <em>Extrahovat metodu<\/em>, <em>Zav\u00e9st prom\u011bnnou<\/em>, <em>Vlo\u017eit prom\u011bnnou<\/em> nebo <em>Metoda<\/em> a dal\u0161\u00edch refaktoring\u016f. Refaktoringy specifick\u00e9 pro jazyk a framework v\u00e1m umo\u017en\u00ed prov\u00e1d\u011bt zm\u011bny v cel\u00e9m projektu.<\/p>\n<h2>Unit test frameworky<\/h2>\n<p>Vytv\u00e1\u0159ejte a prov\u00e1d\u011bjte testy spolu s coding assistance a spou\u0161t\u011b\u010dem test\u016f s grafick\u00fdm rozhran\u00edm. V\u00fdvojov\u00e9 prost\u0159ed\u00ed JetBrains Aqua umo\u017e\u0148uje ps\u00e1t, spou\u0161t\u011bt a ladit unit testy s vyu\u017eit\u00edm obl\u00edben\u00fdch JUnit, TestNG, Pytest, Jest, Mocha a dal\u0161\u00edch framework\u016f. Prohl\u00ed\u017een\u00ed v\u00fdsledk\u016f test\u016f v IDE umo\u017e\u0148uje snadnou navigaci ve stromov\u00e9m zobrazen\u00ed a p\u0159istupov\u00e1n\u00ed ke zdrojov\u00e9mu k\u00f3du testu.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-293997\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/image-12.png\" alt=\"\" width=\"1400\" height=\"596\"><\/figure>\n<h2>UI automation<\/h2>\n<h3>Pr\u016fvodce nov\u00fdm projektem<\/h3>\n<p>Aqua dok\u00e1\u017ee p\u0159es pr\u016fvodce nov\u00fdm projektem vygenerovat nov\u00fd projekt testov\u00e1n\u00ed u\u017eivatelsk\u00e9ho rozhran\u00ed pro JVM, kdy je mo\u017en\u00e9 specifikovat JDK, n\u00e1stroj pro sestaven\u00ed (Maven nebo Gradle), spou\u0161t\u011b\u010d testu (JUnit nebo TestNG) a jazyk.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-294008\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/image-13.png\" alt=\"\" width=\"1400\" height=\"948\"><\/figure>\n<h3>Code insight<\/h3>\n<p>Aqua poskytuje bohatou podporu pro Selenium API a Selenide a nab\u00edz\u00ed code insight pro CSS, XPath a JavaScript fragmenty pou\u017e\u00edvan\u00e9 v rozhran\u00ed Selenium API a mnoha dal\u0161\u00edch knihovn\u00e1ch pro testov\u00e1n\u00ed UI.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-294019\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/image-14.png\" alt=\"\" width=\"1400\" height=\"400\"><\/figure>\n<h3>Page Object \u0161ablony<\/h3>\n<p>Kdy\u017e pou\u017eijete sch\u00e9ma objekt\u016f str\u00e1nky, IDE v\u00e1m umo\u017en\u00ed p\u0159es nab\u00eddku <em>Nov\u00fd soubor<\/em> vytv\u00e1\u0159et a spravovat nov\u00e9 Page Object soubory a p\u0159i p\u0159id\u00e1v\u00e1n\u00ed lok\u00e1tor\u016f bude respektovat zvolen\u00e9 sch\u00e9ma.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-294030\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/image-15.png\" alt=\"\" width=\"1400\" height=\"600\"><\/figure>\n<h2>Web Inspector<\/h2>\n<p>Vestav\u011bn\u00fd Web Inspector umo\u017e\u0148uje prohl\u00ed\u017eet webov\u00e9 aplikace v prost\u0159ed\u00ed Aqua a zachytit prvky str\u00e1nek vy\u017eadovan\u00e9 pro automatizovan\u00e9 testy. Aqua pro vybran\u00fd prvek na webov\u00e9 str\u00e1nce vygeneruje unik\u00e1tn\u00ed lok\u00e1tor CSS nebo XPath a umo\u017en\u00ed ho p\u0159idat do zdrojov\u00e9ho k\u00f3du. Pokud existuje v\u00edce lok\u00e1tor\u016f, kter\u00e9 jednozna\u010dn\u011b identifikuj\u00ed stejn\u00fd prvek, Web Inspector navrhne v\u0161echny mo\u017enosti.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-294041\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/image-16.png\" alt=\"\" width=\"1270\" height=\"1600\"><\/figure>\n<p>P\u0159i \u00fadr\u017eb\u011b test\u016f v\u00e1m Aqua pom\u016f\u017ee ov\u011b\u0159it existuj\u00edc\u00ed lok\u00e1tory. Sta\u010d\u00ed ov\u011b\u0159it selektor CSS nebo XPath pomoc\u00ed n\u00e1stroje Web Inspector a zkontrolovat, zda lok\u00e1tor identifikoval po\u017eadovan\u00fd prvek.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-294052\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/image-17.png\" alt=\"\" width=\"1402\" height=\"814\"><\/figure>\n<p>Kdy\u017e je Web Inspector aktivn\u00ed, dopl\u0148ov\u00e1n\u00ed k\u00f3du CSS a XPath navrhuje a zv\u00fdraz\u0148uje lok\u00e1tory pro nejd\u016fle\u017eit\u011bj\u0161\u00ed prvky webov\u00e9 str\u00e1nky.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-294063\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/image-18.png\" alt=\"\" width=\"1400\" height=\"1400\"><\/figure>\n<p>Web Inspector lze v z\u00e1jmu lep\u0161\u00edho zobrazen\u00ed na velk\u00fdch obrazovk\u00e1ch odpojit do samostatn\u00e9ho okna.<\/p>\n<h2>Testov\u00e1n\u00ed rozhran\u00ed API a nastaven\u00ed prost\u0159ed\u00ed<\/h2>\n<h3>HTTP klient<\/h3>\n<p>P\u0159i v\u00fdvoji webov\u00e9 slu\u017eby, kter\u00e1 odes\u00edl\u00e1 a p\u0159ij\u00edm\u00e1 po\u017eadavky HTTP, m\u016f\u017eete snadno vytv\u00e1\u0159et a upravovat po\u017eadavky v integrovan\u00e9m HTTP klientovi v prost\u0159ed\u00ed Aqua, vyu\u017e\u00edvat rozs\u00e1hlou code assistance, v\u010detn\u011b dopl\u0148ov\u00e1n\u00ed k\u00f3du, zv\u00fdraz\u0148ov\u00e1n\u00ed, refaktoringu a dal\u0161\u00edch funkc\u00ed.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-294074\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/image-19.png\" alt=\"\" width=\"1400\" height=\"786\"><\/figure>\n<h3>Docker<\/h3>\n<p>S prost\u0159ed\u00edm Aqua z\u00edsk\u00e1te p\u0159\u00edstup ke sv\u00fdm kontejner\u016fm Docker, co\u017e v\u00e1m umo\u017en\u00ed jejich spou\u0161t\u011bn\u00ed a lad\u011bn\u00ed, stahov\u00e1n\u00ed a sestavov\u00e1n\u00ed obraz\u016f a spou\u0161t\u011bn\u00ed aplikac\u00ed s v\u00edce kontejnery.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-294592\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/Screenshot-2022-11-03-at-16.32.53.png\" alt=\"\" width=\"2524\" height=\"820\"><\/figure>\n<h2>Datab\u00e1ze<\/h2>\n<p>JetBrains Aqua nevy\u017eaduje pro p\u0159\u00edpravu dat va\u0161\u00ed aplikace \u017e\u00e1dn\u00e9 dal\u0161\u00ed n\u00e1stroje. Bez probl\u00e9m\u016f m\u016f\u017eete pracovat s v\u00edce datab\u00e1zemi, ps\u00e1t SQL skripty a s daty p\u0159\u00edmo v prost\u0159ed\u00ed IDE. Aqua poskytuje p\u0159ipojen\u00ed k live datab\u00e1z\u00edm, spou\u0161t\u00ed dotazy, exportuje data a umo\u017e\u0148uje spravovat sch\u00e9mata ve vizu\u00e1ln\u00edm rozhran\u00ed. To znamen\u00e1, \u017ee z IDE m\u016f\u017eete p\u0159istupovat k datab\u00e1z\u00edm Oracle, SQL Server, PostgreSQL, MySQL a dal\u0161\u00edm.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-294630\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/Screenshot-2022-11-03-at-17.33.02.png\" alt=\"\" width=\"2800\" height=\"1200\"><\/figure>\n<h2>TMS<\/h2>\n<p>Testy obvykle obsahuj\u00ed odkazy do issue tracker\u016f a TMS (syst\u00e9my pro spr\u00e1vu test\u016f). Aby je bylo mo\u017en\u00e9 zahrnout, pou\u017e\u00edvaj\u00ed v\u00fdvoj\u00e1\u0159i knihovny pro vytv\u00e1\u0159en\u00ed report\u016f, nap\u0159\u00edklad Allure Framework, nebo integrovan\u00e9 mechanismy testovac\u00edch architektur, jako je Serenity BDD. P\u0159idali jsme podporu anotac\u00ed t\u011bchto knihoven a IDE umo\u017e\u0148uje otev\u0159\u00edt issue nebo TMS case ve webov\u00e9m prohl\u00ed\u017ee\u010di kliknut\u00edm na ID probl\u00e9mu.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-294642\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/image-6-1.png\" alt=\"\" width=\"1400\" height=\"598\"><\/figure>\n<p>Aqua se um\u00ed p\u0159ipojit k extern\u00edm syst\u00e9m\u016fm TMS, jako je TestRail, d\u00edky \u010demu\u017e je p\u0159\u00edstup k test\u016fm z IDE snaz\u0161\u00ed. Podporuje proch\u00e1zen\u00ed sad test\u016f a hierarchi\u00ed p\u0159\u00edpad\u016f a pro polo\u017eky TMS tak\u00e9 navigaci. Sou\u010dasn\u011b generuje unit testy z hlediska vybran\u00fdch testovac\u00edch sc\u00e9n\u00e1\u0159\u016f a pom\u00e1h\u00e1 naj\u00edt p\u0159\u00edpady neautomatizovan\u00fdch test\u016f nebo zastaral\u00e9 testovac\u00ed metody.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-294107\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/image-22.png\" alt=\"\" width=\"1400\" height=\"1476\"><\/figure>\n<p>Aqua podporuje i experiment\u00e1ln\u00ed \u201eM\u00edstn\u00ed TMS\u201c, co\u017e je agiln\u00ed zp\u016fsob ukl\u00e1d\u00e1n\u00ed a spr\u00e1vy testovac\u00edch dat. M\u00edstn\u00ed TMS ukl\u00e1d\u00e1 testovac\u00ed data ve form\u011b kolekce soubor\u016f <code><strong>t.md<\/strong><\/code> a <kbd><code><strong>r.md<\/strong><\/code><\/kbd> v projektu. Tento p\u0159\u00edstup umo\u017e\u0148uje v\u011btven\u00ed, spr\u00e1vu verz\u00ed, revize a lep\u0161\u00ed integraci s automatizovan\u00fdmi testy.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p>Vytvo\u0159en\u00ed kompletn\u00edho prost\u0159ed\u00ed IDE pro automatizaci test\u016f je velmi n\u00e1ro\u010dn\u00fd \u00fakol. V t\u00e9to f\u00e1zi n\u00e1hledu st\u00e1le prob\u00edh\u00e1 aktivn\u00ed v\u00fdvoj a pokra\u010dujeme v implementaci funkc\u00ed a vylep\u0161en\u00ed, tak\u017ee n\u011bkter\u00e9 v\u011bci nemus\u00ed fungovat podle o\u010dek\u00e1v\u00e1n\u00ed. Pomozte n\u00e1m pros\u00edm produkt JetBrains Aqua vylep\u0161it a pod\u011blte se o sv\u016fj n\u00e1zor na kteroukoli z funkc\u00ed \u010di chyb\u011bj\u00edc\u00ed funkcionalitu. Poj\u010fme vytvo\u0159it to nejlep\u0161\u00ed IDE pro automatizaci testov\u00e1n\u00ed spole\u010dn\u00fdmi silami!<\/p>\n<p>Nejnov\u011bj\u0161\u00ed n\u00e1hledov\u00e9 sestaven\u00ed si m\u016f\u017eete st\u00e1hnout prost\u0159ednictv\u00edm <a href=\"https:\/\/www.jetbrains.com\/toolbox-app\/\" target=\"_blank\" rel=\"noreferrer noopener\">aplikace Toolbox<\/a> nebo <a href=\"https:\/\/jb.gg\/Aqua\" target=\"_blank\" rel=\"noreferrer noopener\">na\u0161eho webu<\/a>.<\/p>\n<p align=\"center\"><a class=\"jb-download-button\" href=\"https:\/\/www.jetbrains.com\/aqua\/download\/\" target=\"_blank\" rel=\"noopener\"><br>St\u00e1hn\u011bte si prost\u0159ed\u00ed Aqua<br><\/a><\/p>\n<p>Polo\u017ete n\u00e1m ot\u00e1zku \u010di se pod\u011blte o n\u00e1zor prost\u0159ednictv\u00edm tohoto <a href=\"https:\/\/www.jetbrains.com\/feedback\/aqua\/\" target=\"_blank\" rel=\"noreferrer noopener\">formul\u00e1\u0159e pro zp\u011btnou vazbu<\/a>. Budeme v\u00e1m vd\u011b\u010dn\u00ed!<\/p>\n<p>Nezapome\u0148te si p\u0159ihl\u00e1sit odb\u011br na\u0161eho blogu, aby v\u00e1m neunikly novinky o vylep\u0161en\u00edch, a hlavn\u011b n\u00e1s sledujte na <a href=\"https:\/\/twitter.com\/JetBrains_Aqua\" target=\"_blank\" rel=\"noreferrer noopener\">Twitteru<\/a>!<\/p>\n<p><em>P\u0159ejeme p\u0159\u00edjemn\u00e9 automatizovan\u00e9 testov\u00e1n\u00ed!<\/em><em><br><\/em><\/p>\n<p>T\u00fdm Aqua<\/p>","protected":false},"author":1229,"featured_media":294123,"comment_status":"closed","ping_status":"closed","template":"","categories":[],"tags":[600,208,477,274,207],"cross-post-tag":[6256,6284],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/qa\/296911"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/qa"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/types\/qa"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/users\/1229"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/comments?post=296911"}],"version-history":[{"count":5,"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/qa\/296911\/revisions"}],"predecessor-version":[{"id":297457,"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/qa\/296911\/revisions\/297457"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/media\/294123"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/media?parent=296911"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/categories?post=296911"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/tags?post=296911"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/cs\/wp-json\/wp\/v2\/cross-post-tag?post=296911"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}